apache负载均衡之配置,apache负载均衡
apache负载均衡之配置,apache负载均衡
参考文章:http://blog.51yip.com/apachenginx/873.html
http://blog.csdn.net/kwu_ganymede/article/details/53385203
负载均衡配置环境:centos7.0 + mysql5.7 + php7.0 + apache2.4
装备工作:三台配置好了环境的服务器(centos + + mysql5.7 + php7.0 + apache2.4)
第一步:配置http.conf文件
[root@localhost apache]# vim /usr/local/apache/conf/httpd.conf
1.开启一下模块(即:去掉#注释)
LoadModule proxy_module modules/mod_proxy.so //该模块是开启代理模式
LoadModule proxy_http_module modules/mod_proxy_http.so //http请求
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so //均衡负载平衡分配http请求
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so //不开启,会报错:Failed to lookup provider 'shm' for 'slotmem': is mod_slotmem_shm loaded
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so //apache2.4需要开启
2.添加代理和反向代理的服务器集群(该配置可直接加入http.conf文件中,也可以加入虚拟主机的配置中,不过http.conf要开启虚拟主机)
ProxyRequests Off
<Proxy balancer://cluster>
BalancerMember http://192.168.2.40:80/
BalancerMember http://192.168.2.22:80/
</Proxy>
ProxyPass /test balancer://cluster/test
ProxyPassReverse /test balancer://cluster/test
3.重启apache,,访问http://localhost/test/index.php.如果要验证的话,请自己在三台服务器中访问的index.php中写入不同内容.
注意:
1.为什么我这里要用/test而不是/,因为在这里用/会和documentroot冲突,因为监听的都是80端口。
2.其实像这样的负载均衡,其实就是反向代理,http://localhost/test起到了连接池的作用,如果你访问http://localhost/test/index.php,他其实访问的是 http://192.168.40:80/index.php或者是http://192.168.18.22:80/index.php
问题1: 启动不了apache
解决方式:
1.请查看http.conf文件中错误日志的位置(如:本机的在/usr/local/apache/logs/error_log)
2.查看error_log中报的错误,然后百度(google)....
所遇问题的参考文章:http://serverfault.com/questions/624113/apache-2-4-proxy-balancer-and-lbmethod-byrequest?answertab=active#tab-top
评论暂时关闭