nginx新增 nginx heath模組

2022-07-18 01:03:15 字數 1990 閱讀 1890

原因?為什麼會使用nginx_heath 這個模組,主要是如nginx+tomcat部署的時,tomcat掛了之後nginx->upstream 輪詢是可以踢掉掛掉的tomcat服務的,如果部署的機器掛了之後nginx輪詢是不能踢掉的,如果服務再去請求,就會出現請求超時!

目前主要使用的是第二種解決方式:

1.新增nginx_heath模組

首先需要新增【nginx_upstream_check_module】模組:

./nginx -v

檢視已經新增的nginx模組如:--prefix=/opt/nginx-new --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre

進入nginx原始碼中為nginx打補丁:patch -p0 < ../nginx_upstream_check_module-master/check_1.5.12+.patch,這個需要合適的版本,不然會出現打補丁失敗,如果提示沒有patch命令的話,請先安裝yum -y install patch

追加nginx_upstream_check_module模組:--prefix=/opt/nginx-new --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre --add-module=/home/software/nginx_upstream_check_module-master

然後make

2.配置upstream加入健康檢查

upstream name

上面配置的意思是,對name這個負載均衡條目中的所有節點,每個3秒檢測一次,請求2次正常則標記 realserver狀態為up,如果檢測 5 次都失敗,則標記 realserver的狀態為down,超時時間為1秒。

指定引數的意思:

- interval:向後端傳送的健康檢查包的間隔。

- fall(fall_count): 如果連續失敗次數達到fall_count,伺服器就被認為是down。

- rise(rise_count): 如果連續成功次數達到rise_count,伺服器就被認為是up。

- timeout: 後端健康請求的超時時間。

- default_down: 設定初始時伺服器的狀態,如果是true,就說明預設是down的,如果是false,就是up的。預設值是true,也就是一開始伺服器認為是不可用,要等健康檢查包達到一定成功次數以後才會被認為是健康的。

- type:健康檢查包的型別,現在支援以下多種型別

- tcp:簡單的tcp連線,如果連線成功,就說明後端正常。

- ssl_hello:傳送乙個初始的ssl hello包並接受伺服器的ssl hello包。

- http:傳送http請求,通過後端的回覆包的狀態來判斷後端是否存活。

- mysql: 向mysql伺服器連線,通過接收伺服器的greeting包來判斷後端是否存活。

- ajp:向後端傳送ajp協議的cping包,通過接收cpong包來判斷後端是否存活。

- port: 指定後端伺服器的檢查埠。你可以指定不同於真實服務的後端伺服器的埠,比如後端提供的是443埠的應用,你可以去檢查80埠的狀態來判斷後端健康狀況。預設是0,表示跟後端server提供真實服務的埠一樣。該選項出現於tengine-1.4.0。

3.配置web頁面

location /nstatus

如圖:

如果有down掉的如圖

另外還支援引數請求?status=up,顯示出up狀態的upstream。

nginx 新增 模組

title nginx 新增 模組 date 2019 10 31 11 21 46 categories tags config nginx 說明 已經安裝好的nginx,需要新增乙個未被編譯安裝的模組 以nginx rtmp module模組為例 則需要重新編譯nginx,而不是像apache一...

Nginx 新增模組

原已經安裝好的 nginx,現在需要新增乙個未被編譯安裝的模組 nginx v 可以檢視原來編譯時都帶了哪些引數 usr local nginx sbin nginx v 原來的引數 新增的引數 步驟如下 可以通過官方檢視模組安裝例子 1.使用引數重新配置 2.編譯 make 不要 make ins...

nginx 新增C 模組

ps 埠改變檔案 安裝目錄的 安裝目錄 conf nginx.comf中 1 configure prefix usr local notifyserver add module usr local src nginx notifyserver module prefix usr local not...