天天看點

nginx檢測背景的webserver健康狀态

讓nginx在反向代理的時候能實作對背景的web server進行狀态檢測

1、編譯安裝nginx

檢測狀态更新檔的軟體包:healthcheck_nginx_upstreams.zip

unzip healthcheck_nginx_upstreams.zip

重命名檔案

mv  cep21-healthcheck_nginx_upstreams-16d6ae7 healthcheck_nginx_upstreams

nginx的軟體包:nginx-1.0.11.tar.gz

tar xf nginx-1.0.11.tar.gz

cd nginx-1.0.11

打更新檔:

patch -p1 < ../healthcheck_nginx_upstreams/nginx.patch

編譯安裝nginx

./configure   --prefix=/usr   --sbin-path=/usr/sbin/nginx   --conf-path=/etc/nginx/nginx.conf   --error-log-path=/var/log/nginx/error.log   --http-log-path=/var/log/nginx/access.log   --pid-path=/var/run/nginx/nginx.pid    --lock-path=/var/lock/nginx.lock   --user=nginx   --group=nginx   --with-http_ssl_module   --with-http_flv_module   --with-http_stub_status_module   --with-http_gzip_static_module   --http-client-body-temp-path=/var/tmp/nginx/client/   --http-proxy-temp-path=/var/tmp/nginx/proxy/   --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/   --with-pcre   --add-module=/root/healthcheck_nginx_upstrea

make && make install

2、為兩台伺服器配置測試頁面

本機172.16.6.3有webserver工作在8080的端口

另外一台172.16.0.1的80端口

172.16.6.3的配置(既是webserver又是nginx)

yum install httpd

vim /etc/httpd/conf/httpd.conf

 Listen 8080

添加網頁

cd /var/www/html

vim index.html

 <h1>

 172.16.6.3

 </h1>

vim health

 I_AM_ALIVE

啟動服務service httpd start

為172.16.0.1配置同樣的測試也即health

先保證正常提供服務

http://172.16.6.3

http://172.16.6.3/health

http://172.16.0.1/health

3、配置nginx,使用反向代理,并能檢測背景服務

在http中添加如下:

upstream backend {

    server 127.0.0.1:8080;

    server 172.16.0.1:80;

    healthcheck_enabled;

    healthcheck_delay 1000;

    healthcheck_timeout 1000;

    healthcheck_failcount 1;

    healthcheck_send "GET /health HTTP/1.0";

   }

在server中添加如下:

location / {

         proxy_set_header Host $http_host;

         proxy_pass http://backend;

         proxy_connect_timeout 3;

        }

        location /stat {

        healthcheck_status;

       }

啟動服務service nginx start

4、在用戶端驗證

http://172.16.6.3/statu

在打開的頁面中顯示Last health status為OK,Is down?為0表示兩台伺服器都正常。

繼續閱讀