Ajp+apache+tomcat负载均衡
一、apache+tomcat的安装略,如有不懂,请查看上一篇!
二、apache+tomcat配置(重点)
方式一:
1、在httpd.conf中添加如下内容:
[*]NameVirtualHost *:80
[*]<VirtualHost*:80>
[*] ServerAdmin frinder_liu@163.com
[*] ServerName www.abc.org.cn
[*] ProxyPass /balancer-manager !
[*] ProxyPass /test balancer://cluster/stickysession=jsessionid nofailover=On
[*] ProxyPassReverse /test balancer://cluster/
[*]</VirtualHost>
[*]ProxyRequestsOff
[*]<proxybalancer://cluster>
[*]BalancerMemberajp://127.0.0.1:8009/test loadfactor=1 route=tomcat1
[*]BalancerMemberajp://127.0.0.1:8109/test loadfactor=1 route=tomcat2
[*]</proxy>
[*]<Location/balancer-manager>
[*]SetHandlerbalancer-manager
[*]OrderDeny,Allow
[*]Denyfrom all
[*]Allowfrom all
[*]</Location>
2、tomcat中的配置
1)、tomcat1:
[*]<EnginenameEnginename="Catalina" defaultHost="localhost"jvmRoute="tomcat1">
[*]<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
tomcat2:
[*]<EnginenameEnginename="Catalina" defaultHost="localhost"jvmRoute="tomcat2">
[*]<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
注:当然,tomcat还需要其它配置,因上篇已经讨论过,就不需要再多说了!需要注意一点,上一篇中我们是配置了很长一段Cluster,这个不需要,
方式二会说!测试结果,如上,sessionId一致,但tomcat2却取不到appname,再看测试页:
相信大家也看到其中的不同了吧,为什么第一次初始化时的值,tomcat2中没有呢?这个问题我还没找到答案,希望知道的童鞋能告知哈,谢谢了!
2)tomcat1/tomcat2按照上篇中所讲,采用详细的Cluster配置,结果:
看tomcat1和tomcat2的控制台,确实都被访问了2次,这个过程中seesion是没有变化的!!!
再来:
可以看出,采用详细的Cluster配置的session是完全共享的!!!
为什么使用tomcat1 cluster简单配置会有那样的问题呢,希望知道的朋友帮忙解答下,谢谢了!
页:
[1]