zoukankan      html  css  js  c++  java
  • 十三、Nginx+Keepalived高可用

    主节点:

    yum install keepalived
    vi /etc/keepalived/keepalived.conf
    global_defs { 
       notification_email { 
         acassen@firewall.loc 
         failover@firewall.loc 
         sysadmin@firewall.loc 
       } 
       notification_email_from Alexandre.Cassen@firewall.loc  
       smtp_server 127.0.0.1 
       smtp_connect_timeout 30 
       router_id NGINX_MASTER
    } 
    
    vrrp_script check_nginx {
        script "/etc/keepalived/check_nginx.sh"
        interval 5
        weight -2
    }
     
    vrrp_instance VI_1 { 
        state MASTER 
        interface ens33
        virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 
        priority 100    # 优先级,备服务器设置 99 
        advert_int 1    # 指定VRRP 心跳包通告间隔时间,默认1秒 
        authentication { 
            auth_type PASS      
            auth_pass 1111 
        }  
        virtual_ipaddress { 
            10.16.8.164/24
        } 
        track_script {
            check_nginx
        } 
    }

    备节点

    
    
    yum install keepalived

    cat /etc/keepalived/keepalived.conf
    global_defs { 
       notification_email { 
         acassen@firewall.loc 
         failover@firewall.loc 
         sysadmin@firewall.loc 
       } 
       notification_email_from Alexandre.Cassen@firewall.loc  
       smtp_server 127.0.0.1 
       smtp_connect_timeout 30 
       router_id NGINX_BACKUP
    } 
     
    vrrp_script check_nginx {
        script "/etc/keepalived/check_nginx.sh"
        weight -2
        interval 5
    }
     
    vrrp_instance VI_1 { 
        state BACKUP 
        interface ens33
        virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 
        priority 99    # 优先级,主服务器设置 100 
        advert_int 1    # 指定VRRP 心跳包通告间隔时间,默认1秒 
        authentication { 
            auth_type PASS      
            auth_pass 1111 
        }  
        virtual_ipaddress { 
            192.168.31.60/24
        } 
        track_script {
            check_nginx
        } 
    }
    check_nginx.sh脚本
    cat /etc/keepalived/check_nginx.sh 
    #!/bin/bash
    A=`ps -C nginx --no-header | wc -l`
    if [ $A -eq 0 ];then
        /usr/local/nginx/sbin/nginx #尝试重新启动nginx
        sleep 2  #睡眠2秒
        if [ `ps -C nginx --no-header | wc -l` -eq 0 ];then
            killall keepalived #启动失败,将keepalived服务杀死。将vip漂移到其它备份节点
        fi
    fi

    启动

    systemctl start keepalived
    systemctl enable keepalived
  • 相关阅读:
    php的webservice的soapheader认证问题
    训练与解码
    ajax 图片上传
    js倒计时
    数据分析有价值的博客
    [Luogu P5675][GZOI2017]取石子游戏
    [BZOJ4558/LOJ2025/Luogu3271][GZOI2016/JLOI2016/SHOI2016]方
    [BZOJ4557/LOJ2024/Luogu3267][GZOI2016/JLOI2016/SHOI2016]侦察守卫
    PKUWC2019游记
    随机带权选取文件中一行 分类: linux c/c++ 2014-06-02 00:11 344人阅读 评论(0) 收藏
  • 原文地址:https://www.cnblogs.com/xw115428/p/11956418.html
Copyright © 2011-2022 走看看