詳解:Nginx 反向代理、後端檢測模塊
知識
07-31
實驗環境Nginx
後端伺服器
好了,三台後端伺服器已經啟動,分別監聽 8080、8081、8082,分別返回 1、2、3
ngx_http_proxy_module、ngx_http_upstream_module
這是一個最簡配的 Nginx 配置文件,定義了一個負載均衡池,池中有三台伺服器,權重分別是 1、2、3 ( 越大越高 )
最大失敗次數 3 次,超過 3 次失敗後,20 秒內不檢測。
當用戶訪問該 IP 的 80 埠時,被轉發到後端的伺服器。下面是一些反向代理的配置。
總共請求10次,tomcat3 響應了5次,因為它的權重最高(weight=3)。
這樣有一個問題,由於沒有後端檢測功能,當後端某一伺服器無法提供服務時,該鏈接先被轉發到這台機器,然後發現該機故障,而後才轉發到其它機器。
導致資源浪費。
nginx_http_upstream_check_module
切換到 Nginx 源碼目錄,打補丁 ( 注意與自己的 Nginx 版本匹配 )
重新編譯、安裝 Nginx,注意加上原來的編譯參數
去掉了權重值,注意:是可以同時存在的。
添加了一行,檢測間隔3000毫秒,連續成功2次標記為UP,連續失敗5次標記為DOWN,超時時間1000毫秒,檢測類型HTTP。
直接 -s reload 貌似不行~
總共有三台機器,都屬於負載均衡 ls 組,狀態 up,連續成功次數等等。
關一台後端的話,就變成了這樣!重啟檢測成功後,會被重新加入到負載均衡中!
※小公司考慮託管雲主機的幾個理由
※Linux Mint 19 「Tara」新版發布下載
TAG:Linux資訊速推 |