为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Java

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

一:准备工作

下载好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中的相关信息。

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

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消