zoukankan      html  css  js  c++  java
  • 负载均衡健康检查

    在Nginx官方模块提供的模块中,没有对负载均衡后端节点的健康检查模块,但可以使用第三方模块。
    `nginx_upstream_check_module`来检测后端服务的健康状态

    1.安装依赖包

    [root@lb02 ~]# yum install -y gcc glibc gcc-c++ pcre-devel openssl-devel patch

    2.下载nginx源码包以及nginx_upstream_check模块第三方模块

     

    [root@lb02 ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
    [root@lb02 ~]# wget https://github.com/yaoweibin/nginx_upstream_check_module/archive/master.zip

    3.解压nginx源码包以及第三方模块

    [root@lb02 ~]# tar xf nginx-1.14.2.tar.gz
    [root@lb02 ~]# unzip master.zip

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

     

     

    [root@lb02 ~]# cd nginx-1.14.2/
    
    [root@lb02 nginx-1.14.2]# patch -p1 <../nginx_upstream_check_module-master/check_1.14.0+.patch
    
    [root@lb02 nginx-1.14.2]# ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --add-module=/root/nginx_upstream_check_module-master --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
    
    [root@lb02 nginx-1.14.2]# make && make install

    5.在已有的负载均衡上增加健康检查的功能

     

     

     

     

    [root@lb02 /etc/nginx]# vim /etc/nginx/nginx.conf
    http {
        include conf.d/*.conf;
        ... ...
    }
     
    [root@lb02 /etc/nginx]# mkdir /etc/nginx/conf.d
    
    [root@lb02 ~]# vim /etc/nginx/conf.d/proxy_web.conf
    upstream web {
        server 172.16.1.7:80 max_fails=2 fail_timeout=10s;
        server 172.16.1.8:80 max_fails=2 fail_timeout=10s;
        check interval=3000 rise=2 fall=3 timeout=1000 type=tcp;
        #interval  检测间隔时间,单位为毫秒
        #rise      表示请求2次正常,标记此后端的状态为up
        #fall      表示请求3次失败,标记此后端的状态为down
        #type      类型为tcp
        #timeout   超时时间,单位为毫秒
    }
    
    server {
        listen 80;
        server_name linux.web.com;
        location / {
            proxy_pass http://web;
            include proxy_params;
        }
    
        location /upstream_check {
            check_status;
        }
    }
    
    [root@lb02 ~]# vim /etc/nginx/proxy_params
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_connect_timeout 60s;
    proxy_read_timeout 60s;
    proxy_send_timeout 60s;
    proxy_buffering on;
    proxy_buffer_size 32k;
    proxy_buffers 8 128k;

    6.创建用户和目录

    [root@lb02 ~]# groupadd nginx -g 666
    [root@lb02 ~]# useradd nginx -u 666 -g 666
    [root@lb02 ~]# mkdir -p  /var/cache/nginx/

    7.启动并配置本地hosts文件

    [root@lb02 ~]# /usr/sbin/nginx

     

    8.访问

  • 相关阅读:
    caffe常用层: batchNorm层和scale层
    简述configure、pkg-config、pkg_config_path三者的关系
    python删除list中元素的三种方法
    Leetcode 872. Leaf-Similar Trees
    Leetcode 508. Most Frequent Subtree Sum
    Leetcode 572. Subtree of Another Tree
    Leetcode 894. All Possible Full Binary Trees
    Leetcode 814. Binary Tree Pruning
    Leetcode 557. Reverse Words in a String III
    python 多维list声明时的小问题
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13597136.html
Copyright © 2011-2022 走看看