您好,登錄后才能下訂單哦!
這篇文章主要講解了“nginx怎么利用第三方模塊檢查后端服務器”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“nginx怎么利用第三方模塊檢查后端服務器”吧!
大家都知道前端使用nginx做反向代理,如果后端服務器宕掉的話,nginx是不能把這臺real server剔出upstream的,所以還會有請求轉發到后端的這臺real server上面去,雖然nginx可以在localtion中啟用proxy_next_upstream來解決返回給用戶的錯誤頁面,但這個還是會把請求轉發給這臺服務器的,然后再轉發給別的服務器,這樣就浪費了一次轉發,這次借助與淘寶技術團隊開發的nginx模快nginx_upstream_check_module來檢測后方realserver的健康狀態,如果后端服務器不可用,則所以的請求不轉發到這臺服務器。
首先去這里下載nginx的模塊https://github.com/yaoweibin/nginx_upstream_check_module
下面是nginx打上模塊補丁的安裝
$ wget http://nginx.org/download/nginx-1.10.3.tar.gz
$ tar -xzvf nginx-1.10.3.tar.gz
$ cd nginx-1.10.3/
$ patch -p1 < /path/to/nginx_http_upstream_check_module/check.patch
注:因nginx版本更新,1.7.2以上版本的nginx,補丁為check_1.7.2+.patch
$ ./configure –add-module=/path/to/nginx_http_upstream_check_module
$ make
$ make install
之后在nginx.conf配置文件里面的upstream加入健康檢查,如下:
upstream linuxyan {
server 192.168.0.21:80;
server 192.168.0.22:80;
check interval=3000 rise=2 fall=5 timeout=1000;
}
這里下面加的這句話我解釋下,interval檢測間隔時間,單位為毫秒;rsie請求2次正常的話,標記此realserver的狀態為up,fall表示請求5次都失敗的情況下,標記此realserver的狀態為down;timeout為超時時間,單位為毫秒。在server段里面可以加入查看realserver狀態的頁面
location /nstatus {
check_status;
access_log off;
#allow SOME.IP.ADD.RESS;
#deny all;
}
這個時候打開nstatus這個頁面就可以看到當前realserver的狀態了,
如下圖:
1、兩臺realserver都正常的情況下
2、一臺realserver故障的情況下
感謝各位的閱讀,以上就是“nginx怎么利用第三方模塊檢查后端服務器”的內容了,經過本文的學習后,相信大家對nginx怎么利用第三方模塊檢查后端服務器這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。