至少需三臺服務(wù)器:
服務(wù)器A:控制服務(wù)器
服務(wù)器B和服務(wù)器C:實際執(zhí)行服務(wù)器
負載均衡原理:將訪問服務(wù)器A的請求分發(fā)至服務(wù)器B和服務(wù)器C
修改服務(wù)器A上apache的http.conf文件:
首先,加載相應(yīng)的代理模塊,去掉以下模塊前面的#號:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
其次,在文件末尾添加:
ProxyPass /example/ balancer://proxy/
<Proxy balancer://proxy>
BalancerMember http://serverB/example/
BalancerMember http://serverC/example/
</Proxy>
表示將訪問服務(wù)器A的http://serverA/example/子目錄下的所有文件分發(fā)至服務(wù)器B和C執(zhí)行,相當于訪問http://serverB/example/或http://serverC/example/子目錄下的文件。
若寫成:
ProxyPass / balancer://proxy/
<Proxy balancer://proxy>
BalancerMember http://serverB/
BalancerMember http://serverC/
</Proxy>
則代表所有訪問A的請求都相應(yīng)的轉(zhuǎn)成訪問B或C
最后,重啟服務(wù)器A的apache