在上一篇中记录了 Apache配置Tomcat的具体方法 http://blog.csdn.net/prefectjava/article/details/21635367,这一篇简单说一下Apache做负载的配置。
第一次看到这个标题时我也很惊讶,Apache居然还能做负载均衡?真是太强大了。经过一番调查后发现的确可以,而且功能一点都不差。这都归功于 mod_proxy 这个模块。不愧是强大的Apache啊。
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
ProxyRequests Off <Proxy balancer://mycluster> BalancerMember http://node-a.myserver.com:8080 BalancerMember http://node-b.myserver.com:8080 </Proxy> ProxyPass / balancer://mycluster
# 警告:以下这段配置仅用于调试,绝不要添加到生产环境中!!! <Location /balancer-manager> SetHandler balancer-manager order Deny,Allow Deny from all Allow from localhost </Location>
ProxyRequests Off <Proxy balancer://mycluster> BalancerMember http://node-a.myserver.com:8080 loadfactor=7 BalancerMember http://node-b.myserver.com:8080 loadfactor=2 BalancerMember http://node-c.myserver.com:8080 loadfactor=1 </Proxy> ProxyPass / balancer://mycluster
ProxyRequests Off <Proxy balancer://mycluster> BalancerMember http://node-a.myserver.com:8080 loadfactor=7 BalancerMember http://node-b.myserver.com:8080 loadfactor=2 BalancerMember http://node-c.myserver.com:8080 loadfactor=1 </Proxy> ProxyPass / balancer://mycluster ProxySet lbmethod=bytraffic
ProxyRequests Off <Proxy balancer://mycluster> BalancerMember http://node-a.myserver.com:8080 BalancerMember http://node-b.myserver.com:8080 status=+H </Proxy> ProxyPass / balancer://mycluster
从 balancer-manager 界面中可以看到,请求总是流向 node-a ,一旦node-a挂掉, Apache会检测到错误并把请求分流给 node-b。Apache会每隔几分钟检测一下 node-a 的状况,如果node-a恢复,就继续使用node-a。
ps:1、如果出现监控Apache负载 http://localhost/balancer-manager/ 访问受限
You don‘t have permission to access /balancer-manager/on this server.
原来是httpd.conf文件中的权限访问控制设置不对,具体是以下这段:
# 警告:以下这段配置仅用于调试,绝不要添加到生产环境中!!! <Location /balancer-manager> SetHandler balancer-manager order Deny,Allow Allow from all Allow from localhost </Location>
在此访问Apache负载均衡的监控 即可看到具体的Tomcat分流情况
地址 :http://localhost/balancer-manager/
(监控配置禁止在生产机配置 切记 !!!!)
Apache负载均衡设置方法: mod_proxy,布布扣,bubuko.com
原文:http://blog.csdn.net/prefectjava/article/details/21632487