更新時(shí)間:2021-02-22 16:26:41 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3211次
Nginx是一款輕量級(jí)的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)處理能力強(qiáng),以高性能低資源消耗而聞名,國(guó)內(nèi)有大量網(wǎng)站使用Nginx,比如:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。由于在日常工作中,我們不可避免地要接觸和使用這樣一款高性能的web服務(wù)器,所以我們非常有必要學(xué)習(xí)和掌握Nginx。
Nginx負(fù)載均衡的4種方案配置實(shí)例,本文講解了輪詢、最少連接、IP地址哈希、基于權(quán)重的負(fù)載均衡等內(nèi)容,需要的朋友可以參考下:
1、輪詢
輪詢即Round Robin,根據(jù)Nginx配置文件中的順序,依次把客戶端的Web請(qǐng)求分發(fā)到不同的后端服務(wù)器。
配置的例子如下:
http{
upstream sampleapp {
server <>;
server <>;
}
....
server{
listen 80;
...
location / {
proxy_pass http://sampleapp;
}
}
上面只有1個(gè)DNS入口被插入到upstream節(jié),即sampleapp,同樣也在后面的proxy_pass節(jié)重新提到。
2、最少連接
Web請(qǐng)求會(huì)被轉(zhuǎn)發(fā)到連接數(shù)最少的服務(wù)器上。
配置的例子如下:
http{
upstream sampleapp {
least_conn;
server <>;
server <>;
}
....
server{
listen 80;
...
location / {
proxy_pass http://sampleapp;
}
}
上面的例子只是在upstream節(jié)添加了least_conn配置。其它的配置同輪詢配置。
3、IP地址哈希
前述的兩種負(fù)載均衡方案中,同一客戶端連續(xù)的Web請(qǐng)求可能會(huì)被分發(fā)到不同的后端服務(wù)器進(jìn)行處理,因此如果涉及到會(huì)話Session,那么會(huì)話會(huì)比較復(fù)雜。常見(jiàn)的是基于數(shù)據(jù)庫(kù)的會(huì)話持久化。要克服上面的難題,可以使用基于IP地址哈希的負(fù)載均衡方案。這樣的話,同一客戶端連續(xù)的Web請(qǐng)求都會(huì)被分發(fā)到同一服務(wù)器進(jìn)行處理。
配置的例子如下:
http{
upstream sampleapp {
ip_hash;
server <>;
server <>;
}
....
server{
listen 80;
...
location / {
proxy_pass http://sampleapp;
}
}
上面的例子只是在upstream節(jié)添加了ip_hash配置。其它的配置同輪詢配置。
4、基于權(quán)重的負(fù)載均衡
基于權(quán)重的負(fù)載均衡即Weighted Load Balancing,這種方式下,我們可以配置Nginx把請(qǐng)求更多地分發(fā)到高配置的后端服務(wù)器上,把相對(duì)較少的請(qǐng)求分發(fā)到低配服務(wù)器。
配置的例子如下:
http{
upstream sampleapp {
server <> weight=2;
server <>;
}
....
server{
listen 80;
...
location / {
proxy_pass http://sampleapp;
}
}
上面的例子在服務(wù)器地址和端口后weight=2的配置,這意味著,每接收到3個(gè)請(qǐng)求,前2個(gè)請(qǐng)求會(huì)被分發(fā)到第一個(gè)服務(wù)器,第3個(gè)請(qǐng)求會(huì)分發(fā)到第二個(gè)服務(wù)器,其它的配置同輪詢配置。
還要說(shuō)明一點(diǎn),基于權(quán)重的負(fù)載均衡和基于IP地址哈希的負(fù)載均衡可以組合在一起使用。
零基礎(chǔ)同學(xué)學(xué)習(xí)Nginx,動(dòng)力節(jié)點(diǎn)Nginx視頻教程,全面講授Nginx的配置與使用、企業(yè)應(yīng)用實(shí)踐(靜態(tài)代理、負(fù)債均衡、動(dòng)靜分離、虛擬主機(jī)等),學(xué)習(xí)本課程,可以快速地掌握Nginx這樣一款高性能的web反向代理服務(wù)器。

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Nginx負(fù)載均衡視頻,基礎(chǔ)的實(shí)戰(zhàn)應(yīng)用”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)