1. 首页
  2. 系统运维
  3. Linux

使用apache的mod_proxy模块做tomcat负载均衡或热备

第一步:安装apache

编译的时候需要加入mod_proxy模块,具体可以参考这篇文章apache和tomcat的整合,网址:http://blog.nbqykj.cn/?p=1702.html 。

第二步:配置tomcat

分别找到需要加入负载均衡或热备的tomcat的配置文件server.xml,修改engine行,添加jvmroute。例如

<Engine name=”Catalina” defaultHost=”localhost” jvmRoute=”node1″>

如果不需要session复制,其他默认保存即可。

第三步:配置ajp_proxy

不建议使用apache的http_proxy。

找到apache虚拟机主机配置文件/usr/local/apache/conf/extra/httpd-vhost.conf,添加如下内容。这个是负载均衡配置。

ProxyRequests off

Header add Set-Cookie “ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/” env=BALANCER_ROUTE_CHANGED
<Proxy balancer://blog.nbhao.org>
BalancerMember ajp://192.168.122.102:8009 route=node1 loadfactor=1
BalancerMember ajp://192.168.122.105:8009 route=node2 loadfactor=1
#ProxySet stickysession=JSESSIONID
ProxySet stickysession=ROUTEID
#byrequests(default),bytraffic,bybusyness
ProxySet lbmethod=bytraffic
ProxySet nofailover=On
</Proxy>

ProxyPass /upload !
ProxyPass /balancer !
ProxyPass / balancer://blog.nbhao.org/
ProxyPassReverse / balancer://blog.nbhao.org/

<Location /balancer>
SetHandler balancer-manager
Proxypass !
Order allow,deny
Allow from all
</Location>

<Proxy *>
Order allow,deny
Allow from all
</Proxy>

<Location />
Order allow,deny
Allow from all
</Location>

添加tomcat主要就是BalancerMember这行,loadfactor值越高,在负载均衡中权重就越大。

如果不需要负载均衡,使用仅仅需要热备,修改BalancerMember ajp://192.168.122.105:8009 route=node2 loadfactor=1成BalancerMember ajp://192.168.122.105:8009 route=node2 status=+H 。

参考网址:

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

http://www.ibm.com/developerworks/cn/opensource/os-lo-apache-tomcat/

联系我们

0574-55011290

QQ:248687950

邮件:admin@nbhao.org

工作时间:周一至周五,9:00-18:00,节假日休息

QR code