[color=red]基本思想:[/color]
一台负载均衡服务器负责请求的均衡,群集服务器A和群集服务器B组成一个群集,当某个群集服务器崩溃后,另外一台继续负责应用程序的运行。
[color=red]环境搭建:[/color]
1、WEB服务器:Apache
2、JSP/Servlet容器:Tomcat
3、Connectors连接器:JK
[color=red]相关配置:[/color]
1、httpd.conf的配置:
2、workers.properties文件:
tomcat1和tomcat2需要按照以上配置修改各自的server.xml文件
[color=red]脚下留心:[/color]
当在本机上配置两个tomcat时,最常见的情况下,明明是分别修改了tomcat目录下的server.xml文件,但启动时,还是运用的同一个配置,究其原因,是因为tomcat5.exe启动的Tomcat程序不一定是tomcat5.exe自身所在的目录,启动的是哪个目录,取决于tomcat5w.exe中的配置。我们需要运行tomcat5w.exe来修改要启动的tomcat的实际路径。
一台负载均衡服务器负责请求的均衡,群集服务器A和群集服务器B组成一个群集,当某个群集服务器崩溃后,另外一台继续负责应用程序的运行。
[color=red]环境搭建:[/color]
1、WEB服务器:Apache
2、JSP/Servlet容器:Tomcat
3、Connectors连接器:JK
[color=red]相关配置:[/color]
1、httpd.conf的配置:
#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
#指定哪些请求由
JkMount /*.jsp controller
2、workers.properties文件:
worker.list = controller,tomcat1,tomcat2 #server 列表
#========tomcat1========
worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置
worker.tomcat1.host=localhost #tomcat的主机地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置
worker.tomcat2.host=localhost #tomcat的主机地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb #can be "lb, status"
worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat
worker.controller.sticky_session=1 #粘性session策略,相同session id一直访问同一服务器
tomcat1和tomcat2需要按照以上配置修改各自的server.xml文件
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
System.out.println(request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/");
%>
</body>
</html>
[color=red]脚下留心:[/color]
当在本机上配置两个tomcat时,最常见的情况下,明明是分别修改了tomcat目录下的server.xml文件,但启动时,还是运用的同一个配置,究其原因,是因为tomcat5.exe启动的Tomcat程序不一定是tomcat5.exe自身所在的目录,启动的是哪个目录,取决于tomcat5w.exe中的配置。我们需要运行tomcat5w.exe来修改要启动的tomcat的实际路径。