CentOS基于nginx反向代理實(shí)現(xiàn)負(fù)載均衡的方法
本文實(shí)例講述了CentOS基于nginx反向代理實(shí)現(xiàn)負(fù)載均衡的方法。分享給大家供大家參考,具體如下:
nginx做負(fù)載均衡的優(yōu)點(diǎn):
1、工作在網(wǎng)絡(luò)的7層之上,可以針對http應(yīng)用做一些分流的策略,比如針對域名、目錄結(jié)構(gòu),它的正則規(guī)則比HAProxy更為強(qiáng)大和靈活,這也是它目前廣泛流行的主要原因之一,nginx單憑這點(diǎn)可利用的場合就遠(yuǎn)多于LVS了
2、nginx對網(wǎng)絡(luò)穩(wěn)定性的依賴非常小,理論上能ping通就就能進(jìn)行負(fù)載功能,這個(gè)也是它的優(yōu)勢之一;相反LVS對網(wǎng)絡(luò)穩(wěn)定性依賴比較大,這點(diǎn)本人深有體會
3、nginx安裝和配置比較簡單,測試起來比較方便,它基本能把錯(cuò)誤用日志打印出來。LVS的配置、測試就要花比較長的時(shí)間了,LVS對網(wǎng)絡(luò)依賴比較大
4、可以承擔(dān)高負(fù)載壓力且穩(wěn)定,在硬件不差的情況下一般能支撐幾萬次的并發(fā)量,負(fù)載度比LVS相對小些
注意事項(xiàng):
1、不同安裝方法nginx的配置文件位置不一樣
2、upstream如果使用ip_hash方式,則每個(gè)請求按訪問ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問一個(gè)后端服務(wù)器,可以解決session的問題
環(huán)境:
系統(tǒng):centos6.6
nginx ip:192.168.20.103
web1 ip:192.168.20.193
web2 ip:192.168.20.194
一、安裝nginx
兩種方法,我用的是第1種
第1種 yum安裝,需安裝第三方y(tǒng)um源,因?yàn)閚ginx默認(rèn)不在centos的yum源中 所以需更新
yum install wget #安裝下載工具 wget http://www.atomicorp.com/installers/atomic #下載 sh ./atomic #安裝 yum check-update #更新yum源 有的需要更新幾次 才有nginx最新版本 否則是老版本nginx yum remove httpd* php* #刪除系統(tǒng)自帶的軟件包 也可加mysql*前提備份數(shù)據(jù)庫 yum install nginx #安裝nginx根據(jù)提示輸入y進(jìn)行安裝 chkconfig nginx on #設(shè)置nginx開機(jī)啟動(dòng) service nginx start #啟動(dòng)nginx 重啟 restart
第2種 編譯安裝
wget http://nginx.org/download/nginx-1.7.8.tar.gz tar -zxvf nginx-1.7.8.tar.gz cd nginx-1.7.8 ./configure make && make install
二、修改配置文件
nginx 的 upstream默認(rèn)是以輪詢的方式實(shí)現(xiàn)負(fù)載均衡,這種方式中,每個(gè)請求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。
另外一種方式是ip_hash:每個(gè)請求按訪問ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問一個(gè)后端服務(wù)器,可以解決session的問題
修改 /etc/nginx/nginx.conf 增加
#負(fù)載均衡配置
upstream backend {
#ip_hash;
server 192.168.20.193;
server 192.168.20.194;
}
修改 /etc/nginx/conf.d/default.conf
location / {
#設(shè)置主機(jī)頭和客戶端真實(shí)地址,以便服務(wù)器獲取客戶端真實(shí)IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#禁用緩存
proxy_buffering off;
#反向代理的地址
proxy_pass http://backend;
root /usr/share/nginx/html;
index index.html index.htm;
# example
#ModSecurityEnabled on;
#ModSecurityConfig /etc/nginx/modsecurity.conf;
}
三、測試
第一次訪問轉(zhuǎn)發(fā)到193,因?yàn)?upstream默認(rèn)是輪詢,第二次則轉(zhuǎn)發(fā)到了194


希望本文所述對大家CentOS服務(wù)器維護(hù)有所幫助。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信