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\r\n\r\n"; 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
页面显示如下