首先下载apache2服务器
apt-get install apache2
使得代理生效:
a2enmod proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http
修改配置 sudo vi /etc/apache2/mods-enabled/proxy.conf
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
#Allow from .your_domain.com
</Proxy>
修改配置 vim /etc/apache2/sites-available/000-default.conf
负载均衡配置
c、负载分配算法
当然你可能想通过不同的算法实现负载均衡,比方说按照请求次数,或者按照流量均衡,这里用到的指令是lbmethod
lbmethod可能的取值有:
lbmethod=byrequests 按照请求次数均衡(默认)
lbmethod=bytraffic 按照流量均衡
lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
<VirtualHost>
ProxyRequests Off
Proxypass / balancer://proxy/
ProxySet lbmethod=bytraffic (加上这句)
<Proxy balancer://proxy>
Order Deny,Allow
Allow from all
BalancerMember http://192.168.103.192:8080 loadfactor= 3
BalancerMember http://192.168.103.195:8080 loadfactor= 1
</Proxy>
</VirtualHost>
d、热备份
热备份的实现很简单,只需添加 status=+H 属性,就可以把某台服务器指定为备份服务器,配置文件如下
Listen 80
<VirtualHost *:80>
ServerAdmin [email protected]
ProxyRequests Off
Proxypass / balancer://proxy/
ProxySet lbmethod=bytraffic
<Proxy balancer://proxy>
Order Deny,Allow
Allow from all
BalancerMember http://192.168.0.1
BalancerMember http://192.168.0.2 status=+H
</Proxy>
</VirtualHost>
从配置中可以看出请求总是流向http://192.168.0.1,一旦http://192.168.0.1挂掉, Apache会检测到错误并把请求分流给 http://192.168.0.2。Apache会每隔几分钟检测一下http://192.168.0.1的状况,如果http://192.168.0.1恢复,就继续使用http://192.168.0.1,这样就可以实现热备份了