1. 程式人生 > >nginx入門學習—— 在已安裝好的nginx上新增nginx_upstream_check_module模組(三)

nginx入門學習—— 在已安裝好的nginx上新增nginx_upstream_check_module模組(三)

nginx模組nginx_upstream_check_module來檢查後端伺服器的健康情況

1.下載nginx_upstream_check_module模組
wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip
2.解壓zip包
a.安裝unzip
yum install unzipb.解壓
unzip master.zip
3.新增nginx_upstream_check_module模組

	cd nginx-1.6.2
	patch -p1 < ../nginx_upstream_check_module-master/check_1.5.12+.patch
	./configure --prefix=/opt/icloudq/nginx --add-module=../nginx-goodies-nginx-sticky-module-ng --add-module=../nginx_upstream_check_module-master
	make


4.覆蓋編譯後的二進位制檔案
/opt/icloudq/nginx/sbin/nginx -s stop

cp /opt/icloudq/nginx/sbin/nginx /opt/icloudq/nginx/sbin/nginx.bak 

cp /opt/icloudq/nginx_tar/nginx-1.6.2/objs/nginx /opt/icloudq/nginx/sbin/

5.修改配置檔案,讓nginx_upstream_check_module模組生效(加入紅色字型部分)

    upstream uec_portal{
        #新增sticky模組後加入此配置
        sticky;

        #被代理的服務
        server 192.168.12.56:80;
        server 192.168.12.70:8080;

        #添加了nginx_upstream_check_module模組之後,該項生效
        #用於檢測後方realserver的健康狀態,如果後端伺服器不可用,則請求不轉發到這臺伺服器。
        #interval:每隔3s檢測一次
        #rise:檢測次數,如果連續檢測2次都成功,那就證明該後端伺服器好使
        #fall:檢測次數,如果連續檢測5次都失敗,那就證明該後端伺服器不好使
        #timeout:超時時間為1s
        <strong><span style="color:#ff6666;">check interval=3000 rise=2 fall=5 timeout=1000;</span></strong>
    }


6.測試
為了測試看這個模組是否好使,加入如下程式碼進行測試
a、在nginx.conf配置檔案的server中加入如下程式碼
        #添加了nginx_upstream_check_module模組之後,該項生效
        #主要為了測試nginx_upstream_check_module模組是否好使    
        location /nstatus{
            check_status;
            access_log off;
        }
b、重新載入配置檔案
<span style="white-space:pre">	</span>./sbin/nginx -s reload
c、瀏覽器中輸入地址http://192.168.12.70/nstatus出來如下頁面

上圖中看出,有兩個後端服務,兩個服務的狀態(Status)都是啟動的,服務0的成功次數為7234,服務1的成功次數為7176,沒有失敗的次數,檢查方式都是tcp

現在關閉其中的192.168.12.70的tomcat,看看服務的啟動情況如下:

從上面測試可以看出,該模組新增成功。