国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB服務 > 正文

Apache負載均衡設置方法- mod_proxy

2020-03-24 18:30:18
字體:
來源:轉載
供稿:網友
第一次看到這個標題時我也很驚訝,Apache居然還能做負載均衡?真是太強大了。經過一番調查后發現的確可以,而且功能一點都不差。這都歸功于 mod_proxy 這個模塊。不愧是強大的Apache啊。

廢話少說,下面就來解釋一下負載均衡的設置方法。

一般來說,負載均衡就是將客戶端的請求分流給后端的各個真實服務器,達到負載均衡的目的。還有一種方式是用兩臺服務器,一臺作為主服務器(Master),另一臺作為熱備份(Hot Standby),請求全部分給主服務器,在主服務器當機時,立即切換到備份服務器,以提高系統的整體可靠性。

負載均衡的設置

Apache可以應對上面這兩種需求。先來討論一下如何做負載均衡。首先需要啟用Apache的幾個模塊:

html' target='_blank'>程序代碼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
mod_proxy提供代理服務器功能,mod_proxy_balancer提供負載均衡功能, mod_proxy_http讓代理服務器能支持HTTP協議。如果把mod_proxy_http換成其他協議模塊(如mod_proxy_ftp),或許能支持其他協議的負載均衡,有興趣的朋友可以自己嘗試一下。

然后要添加以下配置:

程序代碼ProxyRequests Off
Proxy balancer://mycluster
BalancerMember http://node-a.myserver.com:8080
BalancerMember http://node-b.myserver.com:8080
/Proxy
ProxyPass / balancer://mycluster
# 警告:以下這段配置僅用于調試,絕不要添加到生產環境中!!!
Location /balancer-manager
SetHandler balancer-manager
order Deny,Allow
Deny from all
Allow from localhost
/Location
從上面的 ProxyRequests Off 這條可以看出,實際上負載均衡器就是一個反向代理,只不過它的代理轉發地址不是某臺具體的服務器,而是一個 balancer:// 協議:

ProxyPass / balancer://mycluster協議地址可以隨便定義。然后,在 Proxy 段中設置該balancer協議的內容即可。 BalancerMember指令可以添加負載均衡組中的真實服務器地址。

下面那段 Location /balancer-manager 是用來監視負載均衡的工作情況的,調試時可以加上(生產環境中禁止使用!),然后訪問 http://localhost/balancer-manager/ 即可看到負載均衡的工作狀況。

OK,改完之后重啟服務器,訪問你的Apache所在服務器的地址,即可看到負載均衡的效果了。打開 balancer-manager 的界面,可以看到請求是平均分配的。

如果不想平均分配怎么辦?給 BalancerMember 加上 loadfactor 參數即可,取值范圍為1-100。比如你有三臺服務器,負載分配比例為 7:2:1,只需這樣設置:

程序代碼ProxyRequests Off
Proxy balancer://mycluster
BalancerMember http://node-a.myserver.com:8080 loadfactor=7
BalancerMember http://node-b.myserver.com:8080 loadfactor=2
BalancerMember http://node-c.myserver.com:8080 loadfactor=1
/Proxy
ProxyPass / balancer://mycluster
默認情況下,負載均衡會盡量讓各個服務器接受的請求次數滿足預設的比例。如果要改變算法,可以使用 lbmethod 屬性。如:

程序代碼ProxyRequests Off
Proxy balancer://mycluster
BalancerMember http://node-a.myserver.com:8080 loadfactor=7
BalancerMember http://node-b.myserver.com:8080 loadfactor=2
BalancerMember http://node-c.myserver.com:8080 loadfactor=1
/Proxy
ProxyPass / balancer://mycluster
ProxySet lbmethod=bytraffic
lbmethod可能的取值有:

lbmethod=byrequests 按照請求次數均衡(默認)
lbmethod=bytraffic 按照流量均衡
lbmethod=bybusyness 按照繁忙程度均衡(總是分配給活躍請求數最少的服務器)

各種算法的原理請參見[url=http://httpd.apache.org/docs/2.2/en/mod/mod_proxy_balancer.html]Apache的文檔[/url]。
熱備份(Hot Standby)
熱備份的實現很簡單,只需添加 status=+H 屬性,就可以把某臺服務器指定為備份服務器:

程序代碼ProxyRequests Off
Proxy balancer://mycluster
BalancerMember http://node-a.myserver.com:8080
BalancerMember http://node-b.myserver.com:8080 status=+H
/Proxy
ProxyPass / balancer://mycluster

從 balancer-manager 界面中可以看到,請求總是流向 node-a ,一旦node-a掛掉, Apache會檢測到錯誤并把請求分流給 node-b。Apache會每隔幾分鐘檢測一下 node-a 的狀況,如果node-a恢復,就繼續使用node-a。html教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀化市| 承德市| 牙克石市| 府谷县| 通许县| 松滋市| 城口县| 青浦区| 洛隆县| 浦城县| 武冈市| 灵川县| 天峨县| 乡城县| 中西区| 洛南县| 宣威市| 祁阳县| 大洼县| 鸡泽县| 朔州市| 清苑县| 天等县| 镇康县| 濮阳市| 沛县| 绥棱县| 区。| 新巴尔虎左旗| 玉溪市| 清新县| 庄浪县| 玉屏| 漾濞| 灵武市| 嘉兴市| 娄底市| 云林县| 天祝| 花垣县| 财经|