nginx利用第三方模組檢查後端伺服器

2021-09-26 10:17:30 字數 1504 閱讀 4042

大家都知道前端使用nginx做反向**,如果後端伺服器宕掉的話,nginx是不能把這台real server剔出upstream的,所以還會有請求**到後端的這台real server上面去,雖然nginx可以在localtion中啟用proxy_next_upstream來解決返回給使用者的錯誤頁面,但這個還是會把請求**給這台伺服器的,然後再**給別的伺服器,這樣就浪費了一次**,這次借助與**技術團隊開發的nginx模快nginx_upstream_check_module來檢測後方realserver的健康狀態,如果後端伺服器不可用,則所以的請求不**到這台伺服器。

下面是nginx打上模組補丁的安裝

注:因nginx版本更新,1.7.2以上版本的nginx,補丁為check_1.7.2+.patch 

之後在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正常安裝第三方模組的方式如下 configure prefix 你的安裝目錄 add module 第三方模組目錄在未安裝nginx的情況下,安裝第三方模組的方式如下 add module ngx pagespeed master add module 第三方模組目錄 make make ...

nginx 安裝第三方模組

nginx內部是由一些核心和非核心的第三方模組構成,模組化可以通過整合第三方模組實現擴充套件功能。核心模組 ngx http core module 標準模組 http模組 第三方模組 預設支援的模組 ngx http core module 模組 包括 nginx.conf 中的 http段中的 ...

nginx安裝第三方模組

nginx檔案非常小,但是效能非常的高效,這方面完勝apache,nginx檔案小的乙個原因之一是nginx自帶的功能相對較少,好在nginx允許第三方模組,第三方模組使得nginx越發的強大.在安裝模組方面,nginx顯得沒有apache安裝模組方便,當然也沒有php安裝擴充套件方便.在原生的ng...