Bootstrap

Tengine配置负载均衡加健康检查

Tengine是淘宝开发的nginx,默认就自带健康检查模块,不过需要手动指定编译安装
https://blog.51cto.com/tchuairen/2287789

1、下载Tengine
官网及下载地址:https://tengine.taobao.org/

2、解压并安装

# yum install pcre pcre-devel openssl openssl-devel -y
# useradd www
# tar zxvf tengine-2.3.3.tar.gz
# cd  tengine-2.3.3/  
# ./configure --user=www --group=www  --prefix=/usr/local/tengine --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --add-module=./modules/ngx_http_upstream_check_module
# make && make install
# /usr/local/tengine/sbin/nginx 

---------------------------------------
--add-module=./modules/xxx #表示安装本地自带的模块

3、配置负载均衡+健康检查
Tengine:用的是主动检查,可以设置检查页面
nginx:用的是被动检查,无法设置检查页面。

#后端web地址池   
    upstream manager {
        server 172.16.254.67:80 weight=1;
        server 172.16.250.6:80 weight=1;
        # 检查间隔2秒 连续检查2两次成功认为服务健康 连续检查3次失败认为服务不健康 健康检查超时时间5秒 检查类型http
        check interval=2000 rise=2 fall=3 timeout=3000 type=http;
        # 设定认为返回正常的响应状态
        check_http_expect_alive http_2xx http_3xx;
        #server 172.16.254.67:80 weight=1 max_fails=1 fail_timeout=10s;
        #server 172.16.250.6:80 weight=1 max_fails=1 fail_timeout=10s;
        #ip_hash;
        #server 172.16.254.67:80;
        #server 172.16.250.6:80;
    }
    
    server {
        listen       80;
        server_name  172.16.251.18;
        location / {
            index  index.html index.htm;
            #反向代理到地址池
            proxy_pass http://manager;
            proxy_set_header Host  $host;
            proxy_set_header X-Forwarded-For $remote_addr;  
            # 这个是官方nginx自带的被动检查,上面用的tengin是主动检查
            #proxy_next_upstream http_502 http_504  error timeout invalid_header;
        }
        # 配置健康检查的状态监控页
        # 也可以在请求监控页的时候带上参数以输出不同的格式,/status?format=html | /status?format=csv | /status?format=json

        location /status {
                check_status html;
                access_log off;
        }

        location ~ /.svn/ {
        deny all;
        }
        access_log /var/log/nginx/healthy_check.log;    

    }

在这里插入图片描述

;