apache+tomcat集群实现负载均衡
本文环境:OS:CentOS 5.3 x86_64Apache 一台(Apache/2.2.3,本文是rpm 安装的)ip 为:192.168.10.251
Tomcat 两台(apache-tomcat-6.0.20.tar.gz)
Tomcat-1 IP 为:192.168.10.252
Tomcat-2 IP 为:192.168.10.253
1. 首先分别安装Apache,jdk,tomcat 并且可以正常运行(略)
2. 配置Apache
# cd /etc/httpd/conf
# vi httpd.conf
(1) 启动代理模块(去掉如下模块前面的注释)
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
(2) 在文件的最后面加入如下代理负载均衡信息
ProxyRequests Off
BalancerMember ajp://192.168.10.252:8009/b loadfactor=1 route=jvm1
BalancerMember ajp://192.168.10.253:8009/a loadfactor=1 route=jvm2
解释:其中192.168.10.252:8009/b 和192.168.10.253:8009/a 分别为两个tomcat
的项目,jvm1 和jvm2 是标识,要和下文的tomcat 配置文件保持一致,其中端
8009 为ajp 协议的Apache 和tomact 的通讯端口
(3) 配置虚拟主机
ServerAdmin www.test.com
ProxyPass / balancer://cluster/ stickysession=jsessionid
nofailover=On
ProxyPa***everse / balancer://cluster/
3. 重启Apache 服务
# /etc/init.d/httpd restart
4. Tomcat 的配置
(1) 分别把事先准备好的两个war 包丢到/usr/local/tomcat/webapps/目录中,这样当
tomcat 启动的时候就会自动解包,war 包的名称分别为b.war 和a.war 分别属于
192.168.10.252 和192.168.10.253 即访问方式为:http://192.168.10.252:8080/b 和
http://192.168.10.253:8080/a,内容分别为bbbbbbbbbb 和aaaaaaaaaaa(此处是为了区
分)
(2) 配置主配置文件
# cd /usr/local/tomcat/conf/
# vi server.xml
找到如下一行
注意这里的 jvm1 一定要和Apache 的代理配置相同即192.168.10.253 此处应该改为
jvm2
(3) 重新启动tomcat
5. 现在就可以验证结果了, 在测试机的host 文件里指定www.test.com 对应为
192.168.10.251,然后在浏览器里访问:http:// www.test.com 会发现返回的是两个tomcat
的项目页面而且是轮询,为了更直观的查看可以用如下命令
# curl www.test.com
My JSP 'index.jsp' starting page
感谢楼主的分享!
页:
[1]