我想在我创build的3台Apache服务器上设置负载均衡。
我用于服务器的3个地址是192.168.151.101 , .102和.102
然后我创build了一个负载均衡服务器,并给了这个地址192.168.151.105
在负载均衡服务器中,我创build了以下文件并给出了以下configuration
$ vi /etc/apache2/conf.d/proxy-balancer <Proxy balancer://mycluster> BalancerMember http://192.168.151.101 BalancerMember http://192.168.151.102 BalancerMember http://192.168.151.103 </Proxy> ProxyPass / balancer://mycluster
然后我需要configuration我们的代理,以允许从所有主机访问:
$ vi /etc/apache2/mods-enabled/proxy.conf
然后我在网上阅读,你需要
“把这个文件中的”Deny from all“改为”Allow from all“,然后重新启动Apache:”
但是,我没有一个Deny all行开始,所以我不确定我应该实际上改变,以允许从所有主机访问。
那么有人知道我是否应该改变这个configuration文件,或者有没有人有另一种方法来做负载平衡?
注意:我启用了所有的代理模块
遵循Apache的build议( http://httpd.apache.org/docs/2.2/mod/mod_proxy.html ),如果你的apache只能作为ReverseProxy,你必须configuration这个:
ProxyRequests Off # Then the config you actually have <Proxy balancer://mycluster> BalancerMember http://192.168.151.101 BalancerMember http://192.168.151.102 BalancerMember http://192.168.151.103 </Proxy> ProxyPass / balancer://mycluster
Deny from all线路的Deny from all通常是用于代理服务器,而不是用于ReverseProxy(这是您的情况)
这是一个真正的黄褐色configuration后为我工作的样本
我不得不使用单独的ProxyPassReverse指令来redirect/链接工作。 即使是最后的/看起来很重要。
<Proxy balancer://mycluster> Order deny,allow Allow from all BalancerMember http://192.168.151.101 BalancerMember http://192.168.151.102 BalancerMember http://192.168.151.103 </Proxy> ProxyPass / balancer://mycluster ProxyPassReverse / http://192.168.151.101/ ProxyPassReverse / http://192.168.151.102/ ProxyPassReverse / http://192.168.151.103/