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

