如何配置nginx作為負(fù)載均衡

如何配置nginx作為負(fù)載均衡

?一、負(fù)載均衡的作用

1、轉(zhuǎn)發(fā)功能? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學(xué)習(xí):nginx教程

按照一定的算法【權(quán)重、輪詢】,將客戶端請(qǐng)求轉(zhuǎn)發(fā)到不同應(yīng)用服務(wù)器上,減輕單個(gè)服務(wù)器壓力,提高系統(tǒng)并發(fā)量。

2、故障移除

通過(guò)心跳檢測(cè)的方式,判斷應(yīng)用服務(wù)器當(dāng)前是否可以正常工作,如果服務(wù)器期宕掉,自動(dòng)將請(qǐng)求發(fā)送到其他應(yīng)用服務(wù)器。

3、恢復(fù)添加

如檢測(cè)到發(fā)生故障的應(yīng)用服務(wù)器恢復(fù)工作,自動(dòng)將其添加到處理用戶請(qǐng)求隊(duì)伍中。

如何配置nginx作為負(fù)載均衡

二、nginx實(shí)現(xiàn)負(fù)載均衡

同樣使用兩個(gè)tomcat模擬兩臺(tái)應(yīng)用服務(wù)器,端口號(hào)分別為8080 和8081

1、Nginx的負(fù)載分發(fā)策略

Nginx 的 upstream目前支持的分配算法:?

1)、輪詢 ——1:1 輪流處理請(qǐng)求(默認(rèn))

每個(gè)請(qǐng)求按時(shí)間順序逐一分配到不同的應(yīng)用服務(wù)器,如果應(yīng)用服務(wù)器down掉,自動(dòng)剔除,剩下的繼續(xù)輪詢。?

2)、權(quán)重 ——you can you up

通過(guò)配置權(quán)重,指定輪詢幾率,權(quán)重和訪問(wèn)比率成正比,用于應(yīng)用服務(wù)器性能不均的情況。?

3)、ip_哈希算法

每個(gè)請(qǐng)求按訪問(wèn)ip的hash結(jié)果分配,這樣每個(gè)訪客固定訪問(wèn)一個(gè)應(yīng)用服務(wù)器,可以解決session共享的問(wèn)題。?

2、配置Nginx的負(fù)載均衡與分發(fā)策略

?通過(guò)在upstream參數(shù)中添加的應(yīng)用服務(wù)器IP后添加指定參數(shù)即可實(shí)現(xiàn),如:

upstream?tomcatserver1?{?? ????server?192.168.72.49:8080?weight=3;?? ????server?192.168.72.49:8081;?? ????}??? ?? ?server?{?? ????????listen???????80;?? ????????server_name??8080.max.com;?? ????????#charset?koi8-r;?? ????????#access_log??logs/host.access.log??main;?? ????????location?/?{?? ????????????proxy_pass???http://tomcatserver1;?? ????????????index??index.html?index.htm;?? ????????}?? ?????}

通過(guò)以上配置,便可以實(shí)現(xiàn),在訪問(wèn)8080.max.com這個(gè)網(wǎng)站時(shí),由于配置了proxy_pass地址,所有請(qǐng)求都會(huì)先通過(guò)nginx反向代理服務(wù)器,在服務(wù)器將請(qǐng)求轉(zhuǎn)發(fā)給目的主機(jī)時(shí),讀取upstream為 tomcatsever1的地址,讀取分發(fā)策略,配置tomcat1權(quán)重為3,所以nginx會(huì)將大部分請(qǐng)求發(fā)送給49服務(wù)器上的tomcat1,也就是8080端口;較少部分給tomcat2來(lái)實(shí)現(xiàn)有條件的負(fù)載均衡,當(dāng)然這個(gè)條件就是服務(wù)器1、2的硬件指數(shù)處理請(qǐng)求能力。?

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享
站長(zhǎng)的頭像-小浪學(xué)習(xí)網(wǎng)月度會(huì)員