keepalived+nginx实现双机热备(防止单点故障)

1、准备两台虚拟机

      192.168.91.11(主)192.168.91.12(从)

2、安装软件

     ipvsadm 

     keepalived

     nginx

3、关闭selinux和防火墙

4、配置keepalived.conf如下:

! Configuration File for keepalived
global_defs {
}
vrrp_script chk_nginx {
    #必须放在track代码的上方,否则无效,测试了几次是这个情况
    script "killall -0 nginx"
    #用shell命令检查nginx服务是否存在
    interval 1
    #时间间隔为1秒检测一次
    weight -15
    #当nginx的进程不存在了,就把当前的权重-15
}
vrrp_instance VI_1 {
    state MASTER
    #主LVS是MASTER,从主机时此项要改为BACKUP,要大写
    interface eno16777736
    #LVS监控的网络接口
    virtual_router_id 51
    #同一实例下virtual_router_id必须相同,MASTRE/BACKUP 设置值要一样
    priority 100
    #定义优先级,数字越大,优先级越高,把此份Conf拷贝到另一台机器上时,设置的priority值要比MASTRE权重值低
    advert_int 1
    #MASTER与BACKUP负载均衡器之间同步检查的时间间隔,单位是秒
    authentication {
        auth_type PASS
        auth_pass 123456
        #验证类型和密码,有PASS和AH两种,一般用PASS,据说AH有问题,认证密码主备服务器之间一定要一致,否则出错
    }
    virtual_ipaddress {
        192.168.91.20
        #设置虚拟IP,可以有多个地址,每个地址占一行,不需掩码。注意:这个 ip 必须与我们在 lvs 客户端设定的vip相一致
    }
    track_script {
        chk_nginx
        #引用上面的vrrp_script定义的脚本名称
    }
    notify_master "/etc/keepalived/changemail.py master"
    notify_backup "/etc/keepalived/changemail.py backup"
    notify_fault "/etc/keepalived/changemail.py fault"
    #指定当切换到主、备及故障状态时,执行的脚本
}

5、测试 亲测可用

6、说明

    当MASTER存在时,所有的请求都发到MASTER上,MASTER宕机之后才发到BACKUP上,MASTER恢复正常之后,所有的请求继续发到MASTER上。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值