1. 安装proxy、proxy_balancer、proxy_http这几个模块,然后
a2enmod proxy、
a2enmod proxy_balancer
a2enmod proxy_http
即可
2. 修改proxy.conf文件,打开访问权限
vi /etc/apache2/mods-enabled/proxy.conf
修改里面的
Deny from all为
Deny from none
3. 配置/etc/apache2/apache2.conf
加入以下代码
#load balancer
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember http://172.16.4.92 loadfactor=2
BalancerMember http://172.16.4.146 loadfactor=1
</Proxy>
ProxyPass / balancer://mycluster/
负载分配算法有多种,如
bmethod=byrequests 按照请求次数均衡(默认)
lbmethod=bytraffic 按照流量均衡
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
这个在前面的博文中有介绍,这里就不多说了
http://blog.csdn.net/hzcyclone/article/details/7343724
4. 这台负载均衡服务器就只干一件事,就是转发请求到某台真正的web服务器
这里有三个问题还有待我去解决
1) 如何防备这台负载均衡服务器的单点故障,我得配一台从负载均衡服务器,看一下heartbeat方面的知识了
2)好像转发请求到真正的web服务器的时候,css和js文件无法获取,这个问题急需我解决(这个好像真正web服务器上配了相同的代码,就没问题了,待验证)
3)各服务器间的session共享问题(这个有好几种方法可以解决,我可能会选择单独一台memcached服务器来存储seesion,来解决这个问题)