美文网首页
nginx+keepalived实现高可用

nginx+keepalived实现高可用

作者: 南南宫问天 | 来源:发表于2020-05-14 14:11 被阅读0次

nginx本身带有负载均衡,已经能给我们解决了很多的访问压力,但如果某天我们的一台负载均衡服务器挂了,即使后端的多台主机都还在线,也会访问不了,这时候再临时部署一台负载均衡服务器,可能会降低大量的客户访问体验,我们可以利用keepalived来实现热备功能,即使主负载均衡服务器down了,备用负载均衡服务器也会马上顶上去工作.


image.png

主机环境:

1.三台nginx服务器做web主机

nginx的搭建可以参考之前的文档 https://www.jianshu.com/p/d03f5a3ef03b

web01 172.16.210.51
web02 172.16.210.52
web03 172.16.210.53

2.两台nginx服务器器做负载均衡主机

负载均衡的搭建可以参考 https://www.jianshu.com/p/61a7f6715069

lb01 172.16.210.54
lb02 172.16.210.54

开始部署

1.安装keeepalived

lb01:

[root@lb01-server ~]# yum install -y keepalived.x86_64 

lb02:

[root@lb02-server ~]# yum install -y keepalived.x86_64 

2.编辑keepalived配置文件

lb01:

[root@lb01-server ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {   ##全局配置部分
   router_id lb01  ##标识router_id名
}

vrrp_instance czq {    ##Vrrp相关配置(vrrp实例配置--  一个服务可以启动多个主进程)
    state MASTER   ##标识所在实例中的身份(MASTER/BACKUP)
    interface ens192   ##指定虚拟IP地址出现在什么网卡上
    virtual_router_id 51  ##标识router_id 
    priority 150             ##设定优先级   优先级越高,越可能成为主
    advert_int 1
    authentication {   ##实现通讯需要有认证过程
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {  ##配置生成的虚拟vip地址
    172.16.210.3/24
    }
}

lb02

[root@lb02-server ~]# cat /etc/keepalived/keepalived.conf 
! Configuration File for keepalived

global_defs {
   router_id lb02
}

vrrp_instance czq {
    state BACKUP ##定义为备份主机
    interface ens192
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    172.16.210.3/24
    }
}

3.启动keepalived

lb01

[root@lb01-server ~]# systemctl start keepalived ; systemctl enable keepalived

lb02

[root@lb02-server ~]# systemctl restart keepalived

image.png

此时,lb01因为是master节点,所以马上就得到了vip地址

4.测试

修改客户端的hosts,添加网站网址到vip地址的解析
172.16.210.3 www.czq.com

浏览器访问

image.png

访问成功

把lb01的keepalice停掉,模拟生产环境的主节点挂点

[root@lb01-server ~]# systemctl stop keepalived  
image.png

此时vip地址会马上移到备用负载均衡服务器

再次访问

image.png

客户端依然能正常访问,实现了高可用的效果

相关文章

网友评论

      本文标题:nginx+keepalived实现高可用

      本文链接:https://www.haomeiwen.com/subject/rvrtohtx.html