• nginx 实现后端节点健康检查


    nginx 有自带模块针对后端节点的健康检查,那就是nginx_upstream_check_module

    如图:

    安装和使用

    1.下载

    https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip

    2.解压安装包

    unzip nginx_upstream_check_module-master.zip

    3.解压至源码

    cd ./nginx-1.6.2
    patch -p1 < ../nginx_upstream_check_module-master/check_1.5.12+.patch

    成功后提示
    patching file src/http/modules/ngx_http_upstream_ip_hash_module.c
    patching file src/http/modules/ngx_http_upstream_least_conn_module.c
    patching file src/http/ngx_http_upstream_round_robin.c
    patching file src/http/ngx_http_upstream_round_robin.h

    4.重新编译安装nginx,使用add-module 将这个第三方模块安装进去

    ./configure --prefix=/usr/nginx-1.6.2/ --add-module=../nginx_upstream_check_module-master/
    make && make install

    安装完成,开始配置使用

     check部分就是check模块的语法

    check interval=milliseconds [fall=count] [rise=count]
    [timeout=milliseconds] [default_down=true|false]
    [type=tcp|http|ssl_hello|mysql|ajp|fastcgi]

    interval:必要参数,检查请求的间隔时间。

    fall:当检查失败次数超过了fall,这个服务节点就变成down状态。

    rise:当检查成功的次数超过了rise,这个服务节点又会变成up状态。

    timeout:请求超时时间,超过等待时间后,这次检查就算失败。

    default_down:后端服务器的初始状态。默认情况下,检查功能在Nginx启动的时候将会把所有后端节点的状态置为down,检查成功后,在置为up。

    type:这是检查通信的协议类型,默认为http

    check_http_send http_packet
    
    http_packet的默认格式为:"GET / HTTP/1.0
    
    "

    check_http_send设置,这个设置描述了检查模块在每次检查时,向后端节点发送什么样的信息

    check_http_expect_alive [ http_2xx | http_3xx | http_4xx | http_5xx ]

    配置完成后

    nginx -t 检查配置文件是否可用

    检查完成后reload

    nginx -s reload



  • 相关阅读:
    Linux目录结构
    Linux简介
    队列、生产者消费者模型
    Process的几个用法和守护进程
    并发编程(初学)
    网络编程知识点小结
    用socketserver模块实现并发
    粘包问题、解决粘包问题和struct模块
    模拟ssh功能和subprocess模块
    socket 套接字编程
  • 原文地址:https://www.cnblogs.com/zhengxq21/p/12036012.html
Copyright © 2020-2023  润新知