您好,登錄后才能下訂單哦!
這篇文章主要講解了“nginx怎么利用第三方模塊檢查后端服務器”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“nginx怎么利用第三方模塊檢查后端服務器”吧!
大家都知道前端使用nginx做反向代理,如果后端服務器宕掉的話,nginx是不能把這臺real server剔出upstream的,所以還會有請求轉發(fā)到后端的這臺real server上面去,雖然nginx可以在localtion中啟用proxy_next_upstream來解決返回給用戶的錯誤頁面,但這個還是會把請求轉發(fā)給這臺服務器的,然后再轉發(fā)給別的服務器,這樣就浪費了一次轉發(fā),這次借助與淘寶技術團隊開發(fā)的nginx??靚ginx_upstream_check_module來檢測后方realserver的健康狀態(tài),如果后端服務器不可用,則所以的請求不轉發(fā)到這臺服務器。
首先去這里下載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的狀態(tài)為up,fall表示請求5次都失敗的情況下,標記此realserver的狀態(tài)為down;timeout為超時時間,單位為毫秒。在server段里面可以加入查看realserver狀態(tài)的頁面
location /nstatus {
check_status;
access_log off;
#allow SOME.IP.ADD.RESS;
#deny all;
}
這個時候打開nstatus這個頁面就可以看到當前realserver的狀態(tài)了,
如下圖:
1、兩臺realserver都正常的情況下
2、一臺realserver故障的情況下
感謝各位的閱讀,以上就是“nginx怎么利用第三方模塊檢查后端服務器”的內容了,經(jīng)過本文的學習后,相信大家對nginx怎么利用第三方模塊檢查后端服務器這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。