CentOS 6.3利用Apache来做集群实现负载均衡

首先编译安装apache2.42源码包,见
 
一,查看有没有安装过mod_proxy之类的东西
 
#/usr/local/apache2/bin/httpd -l
 
如果没有发现mod_proxy,我们就到apache安装目录下的modules里面看看有没有mod_proxy.so文件,如果都没有,则说明没有加载负载均衡的模块
 
二,安装mod_proxy,proxy_balancer_module等

进入apache的解压目录,就是你从网上下载下来的压缩文件,然后解压产生的目录。
 
#cd apache的解压目录/modules/proxy
 
# /usr/local/apache2/bin/apxs -c -i mod_proxy.c proxy_util.c
 
注意:上面如果不加proxy_util.c的话,LoadModule proxy_module modules/mod_proxy.so会报错的,提示你找不到mod_proxy.so文件
 
# /usr/local/apache2/bin/apxs -c -i mod_proxy_balancer.c
 
# /usr/local/apache2/bin/apxs -c -i mod_proxy_http.c
 
出现下面的东西说明装好了。
 
———————————————————————-
 Libraries have been installed in:
 /usr/local/apache2/modules
 
#要安装的模块装好了
 # ls ./modules/
 httpd.exp    mod_fastcgi.so    mod_proxy.so          mod_rewrite.so
 libphp5.so    mod_fcgid.so      mod_proxy_balancer.so
 mod_cache.so  mod_mem_cache.so  mod_proxy_http.so
 
三,配置httpd.conf,测试负载均衡
 
1,根据请求数(默认),平均分配
 
#vi /usr/local/apache2/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
 
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
 
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
 
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
 
 
 
ProxyRequests Off
 
ProxyPass /mycluster !
 
ProxyPass / balancer://mycluster/ stickysession=BALANCEID
 
ProxyPassReverse /
 
ProxyPassReverse /
 
<Proxy balancer://mycluster>
 
        BalancerMember route=http1 loadfactor=7
 
        BalancerMember route=http2 loadfactor=3
 
        ProxySet lbmethod=byrequests
 
</Proxy>
 
<Location /mycluster>
 
    SetHandler balancer-manager
 
    Order Deny,Allow
 
    Allow from all
 
</Location>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/bdc1990a83760b2bf7c15dd4ad6f73c8.html