?????博主簡(jiǎn)介
????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者
????華為云開發(fā)者社區(qū)專家博主
????阿里云開發(fā)者社區(qū)專家博主
??交流社區(qū):運(yùn)維交流社區(qū) 歡迎大家的加入!
?? 希望大家多多支持,我們一起進(jìn)步!??
??如果文章對(duì)你有幫助的話,歡迎 點(diǎn)贊 ???? 評(píng)論 ?? 收藏 ?? 加關(guān)注+??
兩臺(tái)服務(wù)器:
服務(wù)器ip | 應(yīng)用(誰用) |
---|---|
172.16.10.10 | 線上 |
172.16.10.20 | 研發(fā) |
業(yè)務(wù)需求:
有兩臺(tái)服務(wù)器,一臺(tái)供于線上使用(172.16.10.10),一臺(tái)供于研發(fā)使用(172.16.10.20)
如果線上的服務(wù)器掛了,需要將所有請(qǐng)求轉(zhuǎn)移到研發(fā)的機(jī)器上,以確保線上服務(wù)正常使用;
正常時(shí)間還是線上使用線上的服務(wù)器,研發(fā)用研發(fā)的服務(wù)器;只有在線上服務(wù)器掛了的時(shí)候才會(huì)使用備用的研發(fā)服務(wù)器;
需求實(shí)現(xiàn):
使用nginx負(fù)載均衡來實(shí)現(xiàn);
ip_hash
方式
在nginx服務(wù)器配置中添加負(fù)載:(設(shè)置負(fù)載均衡時(shí)同臺(tái)服務(wù)器不同端口也可以,不同服務(wù)器,同端口也可以)
upstream front_server{ #定義一個(gè)服務(wù)配置front_server
ip_hash; #表示配置一個(gè)用戶固定訪問一臺(tái)設(shè)備
server 172.16.10.10:8080 weight=1; #第一臺(tái)服務(wù)機(jī)器 設(shè)置權(quán)重值1
server 172.16.10.20:8080 weight=2; #第二臺(tái)服務(wù)機(jī)器 設(shè)置權(quán)重值2
}
server {
listen 8099; #如果有一個(gè)服務(wù)是本臺(tái)的那么8080肯定會(huì)被占用,這時(shí)候我們可以改一個(gè)訪問端口即可;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# root html;
# index index.html index.htm;
proxy_pass http://front_server$request_uri;
proxy_http_version 1.1;
proxy_set_header Uparade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
配置完負(fù)載之后,報(bào)錯(cuò)保存退出,檢測(cè)nginx
配置語法是否有誤;
#檢測(cè)nginx配置語法是否有誤,前面路徑可根據(jù)自己安裝的目錄來寫
/usr/local/nginx/sbin/nginx -t
返回這個(gè)有ok
,則nginx配置沒有問題;如果有報(bào)錯(cuò)會(huì)顯示幾行報(bào)錯(cuò)的。
檢測(cè)沒問題之后,重新啟動(dòng)nginx服務(wù)
#重啟nginx服務(wù),前面路徑可根據(jù)自己安裝的目錄來寫
/usr/local/nginx/sbin/nginx -s reload
#啟動(dòng)完成,檢查是否啟動(dòng)(ps查看服務(wù)是否正常啟動(dòng)、netstat查看配置的端口是否正常啟動(dòng))
ps -ef | grep nginx
netstat -anput | grep 8099
#完成之后就可以頁面訪問了。
配置好之后,這個(gè)只是配置了負(fù)載均衡,如果服務(wù)有后綴,那么自己在訪問負(fù)載的
ip:prot
的時(shí)候在后面加上后綴即可。例如:172.16.10.10:8099/cs/index/
訪問頁面,持續(xù)監(jiān)控兩臺(tái)服務(wù)的日志輸出,測(cè)試即可;
負(fù)載均衡方式(常用的三種):
輪詢:兩臺(tái)服務(wù)器會(huì)隨機(jī)發(fā)送請(qǐng)求;
加權(quán)輪詢:兩臺(tái)服務(wù)器也都會(huì)隨機(jī)發(fā)送請(qǐng)求,但是會(huì)有一個(gè)權(quán)重值,誰的權(quán)重值高,接收的請(qǐng)求就會(huì)比另一個(gè)多;文章來源:http://www.zghlxwxcb.cn/news/detail-713067.html
ip_hash:也是會(huì)有權(quán)重值,誰的權(quán)重值越高,請(qǐng)求就會(huì)在最高的權(quán)重值中,只有當(dāng)權(quán)重值最高的那臺(tái)服務(wù)器掛了,再會(huì)去找權(quán)重值第二的服務(wù)器;(1為最高權(quán)重值)文章來源地址http://www.zghlxwxcb.cn/news/detail-713067.html
- 輪詢:
upstream front_server{ #定義一個(gè)服務(wù)配置front_server
server 172.16.10.10:8080; #第一臺(tái)服務(wù)機(jī)器(兩臺(tái)服務(wù)器隨機(jī)分配請(qǐng)求)
server 172.16.10.20:8080; #第二臺(tái)服務(wù)機(jī)器(兩臺(tái)服務(wù)器隨機(jī)分配請(qǐng)求)
}
- 加權(quán)輪詢:
upstream front_server{ #定義一個(gè)服務(wù)配置front_server
server 172.16.10.10:8080 weight=5; #第一臺(tái)服務(wù)機(jī)器,權(quán)重值比較高,所以大部分的請(qǐng)求都會(huì)在10上;
server 172.16.10.20:8080 weight=2; #第二臺(tái)服務(wù)機(jī)器,權(quán)重值比較低,所以少部分的請(qǐng)求會(huì)在20上;
}
- ip_hash
upstream front_server{ #定義一個(gè)服務(wù)配置front_server
ip_hash; #表示配置一個(gè)用戶固定訪問一臺(tái)設(shè)備
server 172.16.10.10:8080 weight=1; #第一臺(tái)服務(wù)機(jī)器 設(shè)置權(quán)重值1,則優(yōu)先訪問10服務(wù)器。
server 172.16.10.20:8080 weight=2; #第二臺(tái)服務(wù)機(jī)器 設(shè)置權(quán)重值2,10服務(wù)器掛了則訪問20服務(wù)器。
}
相關(guān)文章
文章標(biāo)題 | 文章連接 |
---|---|
【Linux】nginx基礎(chǔ)篇 – 介紹及yum安裝nginx | https://liucy.blog.csdn.net/article/details/133928000 |
【Linux】環(huán)境下部署Nginx服務(wù) - 二進(jìn)制部署方式 | https://liucy.blog.csdn.net/article/details/132145067 |
nginx配置負(fù)載均衡–實(shí)戰(zhàn)項(xiàng)目(適用于輪詢、加權(quán)輪詢、ip_hash) | https://liucy.blog.csdn.net/article/details/133986013 |
nginx快速部署一個(gè)網(wǎng)站服務(wù) + 多域名 + 多端口 | https://liucy.blog.csdn.net/article/details/133986102 |
到了這里,關(guān)于nginx配置負(fù)載均衡--實(shí)戰(zhàn)項(xiàng)目(適用于輪詢、加權(quán)輪詢、ip_hash)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!