Ajp+apache+tomcat负载均衡

一、apache+tomcat的安装

略,如有不懂,请查看上一篇!

    

二、apache+tomcat配置(重点)

方式一:

1、在httpd.conf中添加如下内容:                 

NameVirtualHost *:80
<VirtualHost*:80>
    ServerAdmin [email protected]
    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:

<Enginename="Catalina" defaultHost="localhost"jvmRoute="tomcat1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

tomcat2:

<Enginename="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简单配置会有那样的问题呢,希望知道的朋友帮忙解答下,谢谢了!

猜你喜欢

转载自blog.csdn.net/frinder/article/details/38933469