nginx keepalived高可用

nginx keepalived高可用

安装nginx

yum -y install nginx

nginx 起停

systemctl start/stop nginx

安装keepalived

yum -y install keepalived

keepalived配置

双机主备配置
#主

! Configuration File for keepalived

global_defs {
   # 全局唯一
   router_id LVS_DEVEL1
}
vrrp_script chk_nginx {
  script "/etc/keepalived/check_nginx_alive.sh" #检验nginx存活shell
  interval 2
  weigth 2
}
vrrp_instance VI_1 {
    state MASTER
    interface enp132s0f1  # 主机网卡
    virtual_router_id 51
    priority 100
    advert_int 1

    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    12.23.166.149/24    # vip: 检测vip漂移,返回非0漂移,0不漂移
    }
    track_script {
    chk_nginx
    }
}

# 备
! Configuration File for keepalived
global_defs {
   router_id LVS_DEVEL2
}
vrrp_script chk_nginx {
  script "/etc/keepalived/check_nginx_alive.sh" #检验nginx存活shell
  interval 2
  weigth 2
}
vrrp_instance VI_1 {
    state BACKUP
    interface enp132s0f1  # 主机网卡
    virtual_router_id 51
    priority 80
    advert_int 1
    # 调用nginx存活函数

    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    12.23.166.149/24    #vip
    }
    track_script {
    chk_nginx
    }
}
双主热备配置
# 主1 
! Configuration File for keepalived
global_defs {
   router_id LVS_DEVEL1
}

vrrp_script check_nginx {
    script "/etc/keepalived/check_nginx_alive.sh"
    interval 2
    weight 10
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        check_nginx
    }
    virtual_ipaddress {
        192.168.12.121/24 dev eth0
    }
}


vrrp_instance VI_2 {
    state BACKUP
    interface eth0
    virtual_router_id 52
    priority 80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.12.122/24 dev eth0
    }
}

# 主2
! Configuration File for keepalived
global_defs {
   router_id LVS_DEVEL2
}
vrrp_script check_nginx {
    script "/etc/keepalived/check_nginx_alive.sh"
    interval 2
    weight 10
}
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 80
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.12.121/24 dev eth0
    }
}

vrrp_instance VI_2 {
    state MASTER
    interface eth0
    virtual_router_id 52
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
        check_nginx
    }
    virtual_ipaddress {
        192.168.12.122/24 dev eth0
    }
}        

keepalived起停

systemctl start/stop/enable keepalived

check_nginx_alive.sh

#!/bin/bash
P=`ps -C nginx --no-header |wc -l`

if [ $P -eq 0 ];then
    systemctl restart nginx;
    sleep 3;
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ]; then
       killall keepalived
    fi
fi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值