Apache2.4配置叢集,做網路負載均衡
由於需要,臨時搭建了一個系統,因為使用的是雲主機,頻寬不夠,於是相到將2臺雲主機,通過配置Apache2.4叢集來減緩伺服器壓力,結果碰了一大堆坑。
具體講一下我的實施過程:
2臺伺服器:2核4G,4M頻寬,win2008r2
環境:Apache24+php7+mysql8
步驟:
1:httpd.conf啟用模組
//以下3個模組為反向代理和叢集模組,必須開啟
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
//改模組啟用Vhost,用來配置多個虛擬主機
LoadModule vhost_alias_module modules/mod_vhost_alias.so
//該模組用於流量負載均衡,必須開啟,(用於負載均衡的模組共有4個,根據使用方式只能開啟其中一個mod_lbmethod_bybusyness,mod_lbmethod_byrequests,mod_lbmethod_bytraffic,mod_lbmethod_heartbeat,我開啟的是mod_lbmethod_bytraffic模組)
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
//重寫url模組,根據個人需要
LoadModule rewrite_module modules/mod_rewrite.so
//監聽埠
Listen 90
Listen 91
Listen 92
2:httpd-vhosts.conf配置vhost節點
//以下為配置程式碼,注意紅色加粗部分,均為大坑,根據系統錯誤日誌除錯了很久才發現,害人不淺吶!
ProxyRequests off
proxyPass / balancer://myBlancer/ stickysession=sessionid nofailover=On //此處balancer://格式不能更改,否則出錯
ProxyPassReverse / balancer://
<Proxy balancer://myBlancer/>
BalancerMember http://localhost:91/ loadfactor=3 //此處斜槓是個坑,一定要加,否則頁面會出錯
BalancerMember http://localhost:92/ loadfactor=6
ProxySet lbmethod=bytraffic
</Proxy>
//配完結果
<VirtualHost *:90>
ServerName localhost
ServerAlias localhost
ServerAdmin localhost
ProxyRequests off
proxyPass / balancer://myBlancer/ stickysession=sessionid nofailover=On
ProxyPassReverse / balancer://myBlancer/
<Proxy balancer://myBlancer/>
BalancerMember http://localhost:91/ loadfactor=3
BalancerMember http://localhost:92/ loadfactor=6
ProxySet lbmethod=bytraffic
</Proxy>
</VirtualHost>
<VirtualHost *:91>
ServerName localhost
ServerAlias localhost
ServerAdmin localhost
DocumentRoot "D:\www\web1"
<Directory "D:\www\web1">
Options FollowSymLinks
AllowOverride All
Require all granted //注意Apache2.4必須加,否則出現403錯誤
</Directory>
</VirtualHost>
<VirtualHost *:92>
ServerName localhost
ServerAlias localhost
ServerAdmin localhost
DocumentRoot "D:\www\web2"
<Directory "D:\www\web2">
Options FollowSymLinks
AllowOverride All
Require all granted //注意Apache2.4必須加,否則出現403錯誤
</Directory>
</VirtualHost>
3:以上配置步驟完成,重啟httpd.exe
瀏覽器訪問:http://localhost:90
可以發現已經實現負載均衡功能了。
在apache2.4+php7正常執行的情況下,按照以上配置不會出現失敗。如果出現其他錯誤,應該是其它配置引數的問題,請自行百度解決。