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

首頁(yè) > 網(wǎng)站 > Nginx > 正文

爛泥:nginx負(fù)載均衡

2024-08-30 12:27:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
爛泥:nginx負(fù)載均衡

本文由秀依林楓提供友情贊助,首發(fā)于爛泥行天下

今天我們來(lái)學(xué)習(xí)下有關(guān)nginx的負(fù)載均衡配置。nginx的負(fù)載均衡是通過(guò)nginx的upstream模塊和PRoxy_pass反向代理來(lái)實(shí)現(xiàn)的。

說(shuō)明:有三臺(tái)服務(wù)器,前端的A服務(wù)器使用nginx進(jìn)行負(fù)載均衡配置。后端是兩臺(tái)配置的相同服務(wù)器,以訪問(wèn)a.ilanni.com這個(gè)域名為例。結(jié)構(gòu)圖,如下:

clip_image001

A服務(wù)器對(duì)外(公網(wǎng))開(kāi)放80端口,B、C服務(wù)器就是兩臺(tái)配置相同的服務(wù)器。B服務(wù)器開(kāi)放8080端口,C服務(wù)器開(kāi)放8090端口。當(dāng)客戶端訪問(wèn)a.ilanni.com域名時(shí),A服務(wù)器根據(jù)nginx的upstream模塊相應(yīng)策略進(jìn)行分配客戶端訪問(wèn)到B服務(wù)器還是C服務(wù)器。

注意B服務(wù)器和C服務(wù)器內(nèi)容是相同的。但是在此,我們?yōu)榱丝吹綄?shí)驗(yàn)效果,我在B、C服務(wù)器配置了不同的內(nèi)容。B服務(wù)器的默認(rèn)頁(yè)面現(xiàn)實(shí)的內(nèi)容為:The Server is web1_192.168.1.249:8080。C服務(wù)器的默認(rèn)頁(yè)面現(xiàn)實(shí)的內(nèi)容為:The Server is web2_192.168.1.249:8090。如下:

clip_image002

nginx負(fù)載均衡的默認(rèn)是使用輪詢方式進(jìn)行分配的,而且默認(rèn)的權(quán)重為1,并且權(quán)重越大被訪問(wèn)的幾率越大。

我們先配置A服務(wù)器的nginx,如下:

cat /usr/local/nginx/conf/nginx.conf|grep -v ^#|grep -v ^$

upstream a.ilanni.com {

server 192.168.1.248:8080;

server 192.168.1.249:8090;

}

location / {

proxy_pass http://a.ilanni.com;

proxy_set_header Host $host;

proxy_set_header X-Real-ip $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

clip_image003

注意上圖中,標(biāo)記出來(lái)的第一部分。其中upstream就是做負(fù)載均衡使用的。http://a.ilanni.com;就是我們要訪問(wèn)的域名,通過(guò)proxy_pass反向代理到upstream下的服務(wù)器中。

第二部分就是我們要反向代理的域名,注意在此我們監(jiān)聽(tīng)的是80端口,而且這個(gè)server標(biāo)簽中,我并沒(méi)有配置server_name。其實(shí)配置server_name也是可以的,不過(guò)最后的效果是一樣的,這個(gè)是經(jīng)過(guò)測(cè)試的。

第三部分,在此我配置的就是一個(gè)虛擬主機(jī)。監(jiān)聽(tīng)的是8080端口,并且在此我也配置了server_name。這個(gè)主要是為了做對(duì)比使用的。

我們現(xiàn)在先啟動(dòng)A服務(wù)器的nginx,并且訪問(wèn)a.ilanni.com:8080。如下:

clip_image004

可以看到目前A服務(wù)器的nginx已經(jīng)可以正常訪問(wèn)了。注意我們?cè)诖嗽L問(wèn)的是http://a.ilanni.com:8080

現(xiàn)在開(kāi)始配置B、C服務(wù)器的nginx,配置內(nèi)容如下:

clip_image005

clip_image006

B、C服務(wù)器的nginx配置完畢后,我們現(xiàn)在來(lái)啟動(dòng)各自的nginx服務(wù)并訪問(wèn),如下:

clip_image007

通過(guò)上圖,我們可以看到B、C服務(wù)器的nginx已經(jīng)正常訪問(wèn)了。那么我現(xiàn)在來(lái)訪問(wèn)http://a.ilanni.com看看能不能達(dá)到我們所要的效果。如下:

clip_image008

可以看到我們現(xiàn)在訪問(wèn)http://a.ilanni.com已經(jīng)反向代理到upstream下的B服務(wù)器,并且現(xiàn)在顯示的是B服務(wù)器的內(nèi)容。

再次刷新頁(yè)面,顯示如下:

clip_image009

刷新頁(yè)面后,你會(huì)發(fā)現(xiàn)這次顯示的是C服務(wù)器的內(nèi)容。也說(shuō)明http://a.ilanni.com已經(jīng)反向代理到C服務(wù)器上。

你可以多次刷新頁(yè)面,會(huì)發(fā)現(xiàn)顯示的內(nèi)容是B、C服務(wù)器交替出現(xiàn)。

為什么會(huì)是這樣呢?

其實(shí)在文章前面,我已經(jīng)介紹了nginx的upstream負(fù)載均衡,在沒(méi)有其他配置的情況默認(rèn)使用的策略是輪詢方式的,而且默認(rèn)的權(quán)重為1。

也就是說(shuō):upstream a.ilanni.com {

server 192.168.1.248:8080;

server 192.168.1.249:8090;

}

中B、C服務(wù)器的默認(rèn)權(quán)重都是一樣為1。那么在nginx輪詢時(shí),所以B、C服務(wù)器會(huì)交替出現(xiàn)。

如果我們現(xiàn)在把B服務(wù)器的權(quán)重設(shè)置為5,C服務(wù)器還是使用默認(rèn)看看實(shí)際情況。配置如下:

upstream a.ilanni.com {

server 192.168.1.248:8080 weight=5;

server 192.168.1.249:8090;

}

clip_image010

再次訪問(wèn)http://a.ilanni.com,首先顯示的還是B服務(wù)器的內(nèi)容。然后刷新,你會(huì)發(fā)現(xiàn)大約大約刷新了5次左右,才會(huì)顯示C服務(wù)器的內(nèi)容。這就權(quán)重的作用,服務(wù)器的權(quán)重?cái)?shù)值越高,被分配到客戶端的請(qǐng)求次數(shù)越多。

注意以上實(shí)驗(yàn),我們是在A、B、C服務(wù)器是在同一個(gè)局域網(wǎng),對(duì)公網(wǎng)來(lái)說(shuō)只是開(kāi)放了A服務(wù)器的80端口。如果這三臺(tái)服務(wù)器全部是公網(wǎng)IP的話,那就是我們下篇文章要介紹的內(nèi)容了,有關(guān)nginx反向代理的使用。

到此,有關(guān)nginx的負(fù)載均衡我們基本上介紹完畢后。下面在輔助介紹下,nginx的upstream目前支持以下幾種方式的分配:

1)、輪詢(默認(rèn)) 每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的后端服務(wù)器,如果后端服務(wù)器down掉,能自動(dòng)剔除。

2)、weight 指定輪詢幾率,weight和訪問(wèn)比率成正比,用于后端服務(wù)器性能不均的情況。設(shè)置服務(wù)器的權(quán)重,權(quán)重?cái)?shù)值越高,被分配到客戶端的請(qǐng)求次數(shù)越多,默認(rèn)值為1。

3)、ip_hash 每個(gè)請(qǐng)求按訪問(wèn)IP的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)后端服務(wù)器,可以解決session的問(wèn)題。

4)、fair(第三方) 按后端服務(wù)器的響應(yīng)時(shí)間來(lái)分配請(qǐng)求,響應(yīng)時(shí)間短的優(yōu)先分配。

5)、url_hash(第三方)按訪問(wèn)url的hash結(jié)果來(lái)分配請(qǐng)求,使每個(gè)url定向到同一個(gè)后端服務(wù)器,后端服務(wù)器為緩存時(shí)比較有效。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 清水河县| 阳原县| 娄烦县| 鄂托克前旗| 嘉祥县| 城步| 洛浦县| 秦安县| 正宁县| 石首市| 吉隆县| 澄城县| 沂南县| 阳曲县| 肥城市| 扎鲁特旗| 鹤庆县| 建平县| 孟津县| 手游| 繁昌县| 犍为县| 原平市| 清河县| 清原| 甘德县| 互助| 曲松县| 天水市| 江油市| 通许县| 原平市| 中江县| 绵竹市| 西青区| 石城县| 册亨县| 井研县| 南召县| 中方县| 罗平县|