1. 程式人生 > >Apache2.4配置叢集,做網路負載均衡

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://

myBlancer/   //此處斜槓是個大坑,一定要加,否則Url重寫會失敗,只顯示首頁,不顯示內頁
    <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正常執行的情況下,按照以上配置不會出現失敗。如果出現其他錯誤,應該是其它配置引數的問題,請自行百度解決。