Ajp+apache+tomcat負載均衡
來源:程序員人生 發布時間:2014-09-11 13:11:31 閱讀次數:2885次
一、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:
<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簡單配置會有那樣的問題呢,希望知道的朋友幫忙解答下,謝謝了!
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈