溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CentOS基于nginx反向代理怎么實(shí)現(xiàn)負(fù)載均衡

發(fā)布時(shí)間:2022-04-13 10:50:42 來(lái)源:億速云 閱讀:181 作者:iii 欄目:編程語(yǔ)言

這篇“CentOS基于nginx反向代理怎么實(shí)現(xiàn)負(fù)載均衡”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“CentOS基于nginx反向代理怎么實(shí)現(xiàn)負(fù)載均衡”文章吧。

nginx做負(fù)載均衡的優(yōu)點(diǎn):

1、工作在網(wǎng)絡(luò)的7層之上,可以針對(duì)http應(yīng)用做一些分流的策略,比如針對(duì)域名、目錄結(jié)構(gòu),它的正則規(guī)則比haproxy更為強(qiáng)大和靈活,這也是它目前廣泛流行的主要原因之一,nginx單憑這點(diǎn)可利用的場(chǎng)合就遠(yuǎn)多于lvs了

2、nginx對(duì)網(wǎng)絡(luò)穩(wěn)定性的依賴非常小,理論上能ping通就就能進(jìn)行負(fù)載功能,這個(gè)也是它的優(yōu)勢(shì)之一;相反lvs對(duì)網(wǎng)絡(luò)穩(wěn)定性依賴比較大,這點(diǎn)本人深有體會(huì)

3、nginx安裝和配置比較簡(jiǎn)單,測(cè)試起來(lái)比較方便,它基本能把錯(cuò)誤用日志打印出來(lái)。lvs的配置、測(cè)試就要花比較長(zhǎng)的時(shí)間了,lvs對(duì)網(wǎng)絡(luò)依賴比較大

4、可以承擔(dān)高負(fù)載壓力且穩(wěn)定,在硬件不差的情況下一般能支撐幾萬(wàn)次的并發(fā)量,負(fù)載度比lvs相對(duì)小些

注意事項(xiàng):

1、不同安裝方法nginx的配置文件位置不一樣

2、upstream如果使用ip_hash方式,則每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題

環(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ù)庫(kù)
yum install nginx #安裝nginx根據(jù)提示輸入y進(jìn)行安裝
chkconfig nginx on #設(shè)置nginx開(kāi)機(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è)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。

另外一種方式是ip_hash:每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題

修改 /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;
}

三、測(cè)試

第一次訪問(wèn)轉(zhuǎn)發(fā)到193,因?yàn)?upstream默認(rèn)是輪詢,第二次則轉(zhuǎn)發(fā)到了194

CentOS基于nginx反向代理怎么實(shí)現(xiàn)負(fù)載均衡

CentOS基于nginx反向代理怎么實(shí)現(xiàn)負(fù)載均衡

以上就是關(guān)于“CentOS基于nginx反向代理怎么實(shí)現(xiàn)負(fù)載均衡”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI