Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解
1、反向代理作用
保證系統(tǒng)安全,不暴露服務(wù)器IP,利用nginx服務(wù)器,利用內(nèi)網(wǎng)ip進(jìn)行訪(fǎng)問(wèn),避免出現(xiàn)攻擊服務(wù)器的情況
啟動(dòng)本地tomact,127.0.0.1:8080可以訪(fǎng)問(wèn)到tomcat管理頁(yè)面
2、反向代理的效果
通過(guò) bbs.liaoxiang.com 可以訪(fǎng)問(wèn)到我的tomcat管理頁(yè)面(跳轉(zhuǎn)到//127.0.0.1:8080/),這里需要在本地hosts文件添加鏈接指向127.0.0.1
(注意:要通過(guò)連接訪(fǎng)問(wèn)本地地址需要修改hosts文件,百度即可)
- 下載nginx到本地
- 啟動(dòng)nginx,通過(guò)127.0.0.1可以訪(fǎng)問(wèn)到nginx的主頁(yè)
- 配置文件nginx.conf
server { listen 80; server_name bbs.liaoxiang.com; #charset koi8-r; #access_log logs/host.access.log main; location / { proxy_pass http://127.0.0.1:8080; index index.html index.htm; } ....
配置完成。重啟nginx,就可以通過(guò)bbs.liaoxiang.com訪(fǎng)問(wèn)到我的tomcat頁(yè)面
3、負(fù)載均衡
就是多臺(tái)服務(wù)器情況下實(shí)現(xiàn)均衡訪(fǎng)問(wèn)的問(wèn)題
在nginx.conf中配置upstream,可以實(shí)現(xiàn)負(fù)載均衡,負(fù)載均衡的作用就是利用多臺(tái)服務(wù)器減輕單臺(tái)服務(wù)器的壓力
配置4臺(tái)tomcat服務(wù)器,ip:192.168.10.150,192.168.10.151,192.168.10.152,192.168.10.153
都默認(rèn)8080端口
配置nginx服務(wù)器:
server { listen 80; server_name bbs.liaoxiang.com; #charset koi8-r; #access_log logs/host.access.log main; upstream myupstream { #weight 值越大,負(fù)載權(quán)重越大,請(qǐng)求次數(shù)越多 #max_fails 允許請(qǐng)求失敗的次數(shù),超過(guò)次數(shù)后,轉(zhuǎn)發(fā)到下一個(gè)服務(wù)器,當(dāng)有max_fails個(gè)請(qǐng)求失敗,就表示后端的服務(wù)器不可用,默認(rèn)為1,將其設(shè)置為0可以關(guān)閉檢查 #fail_timeout 指定時(shí)間內(nèi)無(wú)響應(yīng)則失敗, 在以后的fail_timeout時(shí)間內(nèi)nginx不會(huì)再把請(qǐng)求發(fā)往已檢查出標(biāo)記為不可用的服務(wù)器 #down 表示當(dāng)前server不參與負(fù)載 #backup 其他非backup server都忙的時(shí)候,backup server作為備用服務(wù)器,將請(qǐng)求轉(zhuǎn)發(fā)到backup服務(wù)器 server 192.168.10.150:8080 weight=1 max_fails=2 fail_timeout=30s; server 192.168.10.151:8080 weight=2 max_fails=2 fail_timeout=30s; server 192.168.10.152:8080 down; #server 192.168.10.153:8080 down; } location / { #反向代理 proxy_pass http://myupstream; index index.html index.htm; } ....
這里啟動(dòng)nginx會(huì)出現(xiàn)錯(cuò)誤,需要在http大括號(hào)第一行加上:server_names_hash_bucket_size 64;
然后就訪(fǎng)問(wèn)nginx地址,如果配置了反向代理,請(qǐng)用反向代理地址也可以訪(fǎng)問(wèn)。訪(fǎng)問(wèn)三次時(shí)可以發(fā)現(xiàn)150服務(wù)器處理了一次,151處理了兩次,成功實(shí)現(xiàn)了負(fù)載均衡
4、應(yīng)用服務(wù)器宕機(jī)
解決辦法
配置文件nginx.conf
server { listen 80; server_name bbs.liaoxiang.com; #charset koi8-r; #access_log logs/host.access.log main; upstream myupstream { #weight 值越大,負(fù)載權(quán)重越大,請(qǐng)求次數(shù)越多 #max_fails 允許請(qǐng)求失敗的次數(shù),超過(guò)失敗次數(shù)后,轉(zhuǎn)發(fā)到下一個(gè)服務(wù)器,當(dāng)有max_fails個(gè)請(qǐng)求失敗,就表示后端的服務(wù)器不可用,默認(rèn)為1,將其設(shè)置為0可以關(guān)閉檢查 #fail_timeout 指定時(shí)間內(nèi)無(wú)響應(yīng)則失敗, 在以后的fail_timeout時(shí)間內(nèi)nginx不會(huì)再把請(qǐng)求發(fā)往已檢查出標(biāo)記為不可用的服務(wù)器 #down 表示當(dāng)前server不參與負(fù)載 #backup 其他非backup server都忙的時(shí)候,backup server作為備用服務(wù)器,將請(qǐng)求轉(zhuǎn)發(fā)到backup服務(wù)器 server 192.168.10.150:8080 weight=1 max_fails=2 fail_timeout=30s; server 192.168.10.151:8080 weight=2 max_fails=2 fail_timeout=30s; server 192.168.10.152:8080 down; #server 192.168.10.153:8080 myupstream; } location / { proxy_pass http://myupstream; index index.html index.htm; #這里配置宕機(jī)檢測(cè),都設(shè)置為1秒,這是有了負(fù)載均衡過(guò)后配置的,如果訪(fǎng)問(wèn)時(shí)掛了一個(gè)服務(wù)器,1秒不響應(yīng)就自動(dòng)切換到另外應(yīng)用服務(wù)器進(jìn)行訪(fǎng)問(wèn) proxy_connect_timeout 1; proxy_send_timeout 1; proxy_read_timeout 1; } ....
重啟關(guān)閉其中一個(gè)服務(wù)器做測(cè)試,關(guān)閉后訪(fǎng)問(wèn),當(dāng)訪(fǎng)問(wèn)到已經(jīng)宕機(jī)的服務(wù)器時(shí),很明顯的發(fā)現(xiàn)瀏覽器會(huì)加載一秒鐘(設(shè)置的一秒監(jiān)聽(tīng))過(guò)后重新定向到另外一臺(tái)服務(wù)器,避免了宕機(jī)出現(xiàn)不能訪(fǎng)問(wèn)的情況。
到此這篇關(guān)于Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機(jī)解決辦法詳解的文章就介紹到這了,更多相關(guān)Nginx反向代理+負(fù)載均衡+服務(wù)器宕機(jī)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx負(fù)載均衡下的webshell上傳的實(shí)現(xiàn)
本文主要介紹了nginx負(fù)載均衡下的webshell上傳的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03nginx 配置代理服務(wù)地址最后多加反斜杠和不加反斜杠的區(qū)別小結(jié)
在使用Nginx配置代理服務(wù)時(shí),地址最后是否添加反斜杠(/)會(huì)對(duì)代理的URL處理產(chǎn)生影響,下面就來(lái)具體介紹一下,感興趣的可以了解一下2024-08-08權(quán)限問(wèn)題導(dǎo)致Nginx 403 Forbidden錯(cuò)誤的解決方法
這篇文章主要介紹了權(quán)限問(wèn)題導(dǎo)致Nginx 403 Forbidden錯(cuò)誤的解決方法,本文中導(dǎo)致 403 Forbidden錯(cuò)誤的原因是配置文件中沒(méi)有指明一個(gè)用戶(hù),需要的朋友可以參考下2014-08-08