nginx利用第三方模組
nginx_upstream_check_module
來檢查後端伺服器的健康情況
大家都知道,前段nginx做反代,如果後端伺服器宕掉的話,
nginx
是不能把這台
realserver
提出upstream
的,所以還會有請求**到後端的這台
realserver
上面去,雖然
nginx
可以在localtion
中啟用proxy_next_upstream
來解決返回給使用者的錯誤頁面,方法在:
,大家可以參考一下,但這個還是會把請求**給這台伺服器的,然後再**給別的伺服器,這樣就浪費了一次**,這次借助與**技術團隊開發的nginx模快
nginx_upstream_check_module
來檢測後方
realserver
的健康狀態,如果後端伺服器不可用,則所以的請求不**到這台伺服器。
下面是nginx打上模組補丁的安裝
yum install –y openssl openssl-devel pcre-devel pcre
wget
unzip master.zip
wget
tar zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
nginx_upstream_check_module ,nginx 我是放在同一目錄下
在nginx目錄先patch 一下
patch -p1 < ../nginx_upstream_check_module-master/check_1.7.5+.patch
配置和安裝nginx
之後在nginx.conf配置檔案裡面的
upstream
加入健康檢查,如下:
upstream linuxyan
這裡下面加的這句話我解釋下,interval檢測間隔時間,單位為毫秒,
rsie請求2
次正常的話,標記此
realserver
的狀態為up,
fall
表示請求
5次都失敗的情況下,標記此
realserver
的狀態為
down
,timeout
為超時時間,單位為毫秒。
在server段裡面可以加入檢視
realserver
狀態的頁面
server
這個時候開啟nstatus這個頁面就可以看到當前
realserver
的狀態了,
如下圖:
1.2臺
realserver
都正常的情況下
2.一台
realserver
故障的情況下
lvs mysql健康檢查 lvs 健康檢查方式
一 tcp 4層檢查 virtual server 192.168.2.213 80 delay loop 6 lb algo wlc 採取權重式最少鏈結分配 lb kind dr 採取dr模式 protocol tcp real server 192.168.2.220 80 tcp check ...
Nginx被動健康檢查和主動健康檢查
1.被動健康檢查 nginx自帶有健康檢查模組 ngx http upstream module,可以做到基本的健康檢查,配置如下 upstream cluster server nginx只有當有訪問時後,才發起對後端節點探測。如果本次請求中,節點正好出現故障,nginx依然將請求轉交給故障的節點...
應用健康檢查
我們的應用是都是走自動化指令碼發布的,當發布完成後,通常的做法可能是直接看發布日誌是否有報錯,但這需要人工去操作,所以我們寫了乙個健康檢查的頁面,在發布完成後用指令碼去訪問這個健康頁面,看是否能正常訪問,從而確定應用是否正常啟動。servlet private static final long s...