nginx添加第三方nginx_upstream_check健康检查模块

  • 2019-09-02
  • 0
  • 0

效果:

nginx_upstream_check

安装依赖

[root@slb ~]# yum install -y gcc glibc gcc-c++ openssl-devel pcre-devel patch GeoIP GeoIP-devel GeoIP-data perl-devel perl-ExtUtils-Embed gd-devel

下载第三方检查模块

[root@slb ~]# wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip

下载自己已安装的对应的nginx软件包

[root@slb ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz

进入nginx目录,打补丁(nginx的版本是1.14补丁就选择1.14的,p1代表在nginx目录,p0是不在nginx目录)

[root@slb ~]# cd nginx-1.14.2/
[root@slb nginx-1.14.2]# patch -p1 <../nginx_upstream_check_module-master/check_1.14.0+.patch

先停止nginx服务

[root@slb conf.d]# systemctl stop nginx

进入nginx安装包编译

#先nginx -V查看原来的编译信息复制过来,在末尾增加
[root@slb nginx-1.14.2]# ./configure 
.....
.....
.....
--add-module=/root/nginx_upstream_check_module-master

[root@slb nginx-1.14.2]# make

编译完成后 备份原来的 nginx 脚本 用新的 nginx 脚本更替原来的 ,重启 nginx

[root@slb ~]# mv /usr/sbin/nginx /usr/sbin/nginx.bak
[root@slb ~]# cp ./objs/nginx /usr/sbin/nginx
[root@slb ~]# systemctl restart nginx.service

编写配置文件增加一个location

[root@slb nginx]# vim /etc/nginx/conf.d/proxy.conf
    location /up_status {
        check_status;
        }

编写配置文件在地址池中增加检查信息

[root@slb conf.d]# vim proxy.conf 
upstream web {
        server 192.168.1.17:80;
        server 192.168.1.18:80;
        check interval=3000 rise=2 fall=5 timeout=1000 type=http;
        check_http_send "HEAD / HTTP/1.0\r\n\r\n";
        check_http_expect_alive http_2xx http_3xx;
        }

评论

还没有任何评论,你来说两句吧

提供支持 - 友情链接 - 衫小寨