继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Apache+tomcat mod_proxy 负载均衡简单配置记录

予远方
关注TA
已关注
手记 2
粉丝 5
获赞 17

因工作需要做了一个简单的负载均衡(其实最后就用成了一个类似热备份的作用),现在做一个简单的总结。

一:准备工作

下载好Apache 和tomcat ,将tomcat赋值两份,改好端口号防止端口冲突。

二:Apache 配置文件

conf中的httpd.conf文件:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
Include conf/extra/httpd-vhosts.conf
将以上四个文件的注释取消。其中第一个是提供代理服务功能的,第二个是负载均衡功能,第三个是让代理服务器支持HTTP协议的,第四个配置负载均衡的。

conf/extra下的httpd-vhosts.conf文件:
添加以下:

< VirtualHost *:80>
ServerName 127.0.0.1
ServerAlias localhost
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
ProxyPassReverse / balancer://cluster/
ErrorLog "logs/proxyTest-error.log"
CustomLog "logs/lbtest-access.log" common
< /VirtualHost>

此段代码的含义为监听80端口,proxypass 指定的是分发器,以及session复制。此处的分发器名字cluster要与后面配置的分发器名字一致。

然后在httpd.conf中添加以下分发器:

ProxyRequests Off
< proxy balancer://cluster>
BalancerMember http://127.0.0.1:8080 loadfactor=1
BalancerMember http://127.0.0.1:8090 loadfactor=1
< /proxy>

loadfactor可以是1到100 ,此处用的是按权重分配均衡策略。
如果改为以下:
BalancerMember http://127.0.0.1:8011
BalancerMember http://127.0.0.1:8022 status=+H
则代表正常情况下会使用8011的tomcat,如果8011挂了,才会使用8022同时会继续定时扫描8011,一旦发现8011正常了,就会继续切换到8011上。(热备份功能)。

因为采用的是session复制的方式,因此需要以下三四步。

三:webx.ml
在web.xml的倒数第二行增加 <distributable/>
< distributable/>
< /web-app>
四:tomcat
去掉tomcat中service.xml中<Cluster> <\Cluster> 的注释符。
当然也可以自己配置cluster中的相关信息。

--注:本人水平有限,如有问题或错误欢迎指正。--

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP