apache服務(wù)器模塊的負(fù)載均衡實(shí)現(xiàn)過程
在apache下我們可以用它的自帶模塊進(jìn)行負(fù)載均衡的配置,那么在apache服務(wù)器上如何設(shè)置呢?這就需要大家從文中找到答案了,具體的設(shè)置內(nèi)容我們都有詳細(xì)的介紹,還望大家能自己親手操作一下,這樣遇到的問題也好能及時解決。
面以在apache mod_proxy下做的反向代理負(fù)載均衡為配置實(shí)例:在站點(diǎn)www.test.com,我們按提供的內(nèi)容進(jìn)行分類,不同的服務(wù)器用 于提供不同的內(nèi)容服務(wù),將http://www.test.com/news的訪問轉(zhuǎn)到IP地址為192.168.1.1的內(nèi)部服務(wù)器上處理,對 http: //www.test.com/it的訪問轉(zhuǎn)到服務(wù)器192.168.1.2上,http://www.test.com/life的訪問轉(zhuǎn) 到服務(wù)器 192.168.1.3上,http://www.test.com/love的訪問轉(zhuǎn)到合作站http://www.love.com上,從 而減輕本apache服務(wù)器的負(fù)擔(dān),達(dá)到負(fù)載均衡的目的。首先要確定域名www.test.com在DNS上的記錄對應(yīng)apache服務(wù)器接口上具有internet合法注冊的IP地址,這樣才能使 internet上對www.test.com的所有連接請求發(fā)送給本臺apache服務(wù)器。
在本臺apache服務(wù)器配置文件httpd.conf中添加如下設(shè)置:
- proxypass/news http://192.168.1.1
- proxypass /it http://192.168.1.2
- proxypass /life http://192.168.1.3
- proxypass /live http://www.live.com
注意,此項(xiàng)設(shè)置最好添加在httpd.conf文件“Section 2"以后的位置,服務(wù)器192.168.1.1-3也應(yīng)是具有相應(yīng)功能的www服務(wù)器,在重啟服務(wù)時,最好用apachectl configtest命令檢查一下配置是否有誤。
接下來也是我真正想要介紹的2.2版本后在mod_proxy中新添加的mod_proxy_balancer模塊給我們帶來的新功能。
首先將在主配置文件http.conf以下Module的注釋去掉:
- 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
再并增加以下元素:
- ProxyRequests Off
- ProxyPass /test balancer://xuanfei stickysession=jsessionid nofailover=On
- <proxy balancer://xuanfei/>
- BalancerMemberhttp://192.168.28.131 loadfactor=1
- BalancerMemberhttp://192.168.28.130 loadfactor=1
- </proxy>
ProxyPass為代理轉(zhuǎn)發(fā)的Url,即將所有訪問/test的請求轉(zhuǎn)發(fā)到群集balancer://xuanfei;loadfactor為各主機(jī)間的負(fù)載比例參數(shù),可是設(shè)置不同指數(shù);BalancerMember為群集的成員,即群集服務(wù)器A或B,apache服務(wù)器負(fù)載均衡會根據(jù)均衡規(guī)則來將請求轉(zhuǎn)發(fā)給BalancerMember。#p#
配置好后,啟動apache服務(wù)
- <Location /server-status>
- SetHandler server-status
- Order Deny,Allow
- Deny from all
- Allow from all
- </Location>
器,訪問xuanfei/test就會看到群集服務(wù)器中應(yīng)用返回的結(jié)果。恭喜你,apache負(fù)載均衡和群集已經(jīng)配置成功了!
而且還可以同樣在http.conf主配置文件主添如下元素:
- <Location /balancer-manager>
- SetHandler balancer-manager
- Order Deny,Allow
- Deny from all
- Allow from all
- </Location>
如果配置成功后你可以可以在地址欄輸入 xuanfei/balancer-manager,將可以清楚的看到各節(jié)點(diǎn)的工作運(yùn)行狀態(tài)
同樣還可以同樣在http.conf主配置文件主添如下元素:
- <Location /server-status>
- SetHandler server-status
- Order Deny,Allow
- Deny from all
- Allow from all
- </Location>
便可以方便的觀測到主apache服務(wù)器的當(dāng)前運(yùn)行狀態(tài),只要在地址欄輸入xuanfei/server-status;用ab對apache負(fù)載均衡集群的性能測試對比報告
小結(jié):apache自帶mod_proxy功能模塊中目前可以實(shí)現(xiàn)兩種不同的負(fù)載均衡集群實(shí)現(xiàn)方式,第一種是分工合作的的形式,通過各臺主機(jī)負(fù) 責(zé)不同的任務(wù)而實(shí)現(xiàn)任務(wù)分工。第二種是不同的機(jī)器在擔(dān)任同樣的任務(wù),某臺機(jī)器出現(xiàn)故障主機(jī)可以自動檢測到將不會影響到客戶端,而第一種卻不能實(shí)現(xiàn)但第一種 實(shí)現(xiàn)方式的優(yōu)點(diǎn)在于他是主apache服務(wù)器負(fù)擔(dān)相應(yīng)沒第二種大因?yàn)榕_只是提供跳轉(zhuǎn)指路功能,形象的說他不給你帶路只是告訴你有條路可以到,但到了那是否可以看到你見 的人他已經(jīng)不會去管你了。相比之下第二種性能要比第一種會好很多;但他們都有個共同點(diǎn)都是一托N形式來完成任務(wù)的所以你的主機(jī)性能一定要好.
轉(zhuǎn)載:http://www.bindows.net.cn/archives/2007/07/11/9.html