使用keepalived搭建nginx高可用

1、主机  master   192.168.8.154    备用机backup 192.168.8.100    VIP:192.168.8.180

yum  -y  install   keepalived  nginx

编辑master上keepalived配置文件

# vim /etc/keepalived/keepalived.conf
global_defs {
   notification_email {
     951687336@qq..com
   }
   notification_email_from 951687336@qq.com
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_script chk_nginx {
    script "/usr/local/sbin/check_ng.sh"
    interval 3
}

vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass aminglinux>com
    }
    virtual_ipaddress {
        192.168.8.180
    }

    track_script {
        chk_nginx
    }

}

定义nginx的监控脚本 vim   /usr/local/sbin/check_ng.sh

#!/bin/bash
#时间变量,用于记录日志
d=`date --date today +%Y%m%d_%H:%M:%S`
#计算nginx进程数量
n=`ps -C nginx --no-heading|wc -l`
#如果进程为0,则启动nginx,并且再次检测nginx进程数量,
#如果还为0,说明nginx无法启动,此时需要关闭keepalived
if [ $n -eq "0" ]; then
        /etc/init.d/nginx start
        n2=`ps -C nginx --no-heading|wc -l`
        if [ $n2 -eq "0"  ]; then
                echo "$d nginx down,keepalived will stop" >> /var/log/check_ng.log
                systemctl stop keepalived
        fi
fi

chmod  a+x  /usr/local/sbin/check_ng.sh

配置完成,启动service  keepalived start  ,ip addr 可以产看网卡中的虚拟ip

猜你喜欢

转载自www.cnblogs.com/weidaijie/p/9591471.html
今日推荐