Nginx负载均衡后端健康检查(支持HTTP和TCP)

  之前有一篇文章记录nginx负载均衡后端检查,链接为 https://www.cnblogs.com/minseo/p/9511456.html

  但是只包含http健康检查不包含tcp下面安装nginx可以实现http及tcp健康检查

  参考 https://github.com/zhouchangxun/ngx_healthcheck_module/

  安装

git clone https://github.com/nginx/nginx.git
git clone https://github.com/zhouchangxun/ngx_healthcheck_module.git

cd nginx/;
git checkout branches/stable-1.12
git apply ../ngx_healthcheck_module/nginx_healthcheck_for_nginx_1.12+.patch

./auto/configure --with-stream --add-module=../ngx_healthcheck_module/
make && make install

  git下载nginx及健康检查模板安装nginx

  配置http的upstream配置样式如下

upstream www.xxx.net{
    server 172.16.90.232:81;
    check interval=3000 rise=2 fall=5 timeout=5000 type=http;
    check_http_send "GET / HTTP/1.0

";
    check_http_expect_alive http_2xx http_3xx;
}

  配置tcp的upstream的配置样式如下

upstream device5000{
    server 172.16.90.52:5000;
    server 172.16.90.53:5000;
    check interval=3000 rise=2 fall=5 timeout=5000 default_down=true type=tcp;
}

  在主配置文件新加一个location

location /upstream_status{
        healthcheck_status html;
    }

  web页面访问

http://ip/upstream_status

  页面显示如下

原文地址:https://www.cnblogs.com/minseo/p/10737054.html