欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Keepalived+Nginx实现负载均衡高可用

程序员文章站 2022-07-08 19:46:34
...

一、负载均衡高可用

     Nginx作为负载均衡器,所有请求都到了Nginx,可见Nginx处于非常重点的位置,如果Nginx服务器宕机后端web服务将无法提供服务,影响严重。

     为了避免负载均衡服务器的宕机故障,需要建立一个备份机。主备机上都运行高可用(High Availability)监控程序,通过传送心跳信息来监控对方的运行状况。当备份机不能在一定的时间内收到对方的正常心跳时,它就接管主服务器的服务IP并继续提供负载均衡服务;当备份管理器又从主管理器收到“I am alive”这样的信息时,它就释放服务IP地址,这样的主服务器就开始再次提供负载均衡服务。

二、使用keepalived+Nginx实现负载均衡高可用

1、提供两个Nginx负载服务器

这里方便演示,分别在本机上添加2个虚拟服务器,分别安装Nginx 

2、分别在两台服务器上安装keepalived

Keepalived的安装方式不外乎检查配置、编译、安装那几个命令,这里就不再赘述,为方便管理,将相关配置文件进行移动,重启keepalived服务

Keepalived+Nginx实现负载均衡高可用

3、配置keepalived

安装好keepalived后 ,进入/usr/local/keepalived/etc/keepalived,修改keepalived.conf文件

1)主机

 Keepalived+Nginx实现负载均衡高可用

2)备机

 Keepalived+Nginx实现负载均衡高可用

通过对两台服务器的keepalive进行配置,区分出主机和备机服务器,state MASTER 为主机,priority 优先级值大于备机,state BACKUP为备机。

配置好keepalived之后,分别启动两台服务器上的nginx和keepalived进行测试。

4、测试

1)查看主机的nginx,发现keepalived的虚拟IP绑定在主服务器上nginx上,

Keepalived+Nginx实现负载均衡高可用

而备份服务器却提示not exsit 

Keepalived+Nginx实现负载均衡高可用

  这就说明服务一启动,keepalived的虚拟IP绑定在主服务器的eth0网卡上.另外将主服务器的nginx关闭后,再查看,发现keepalived的vip立刻绑定在了备服务器的eth0上,当主服务器恢复工作时,VIP又自动切换回来。这样就实现了通过keepalived这个工具来监测多台服务器的工作状态,当主服务器宕机后,可智能切换到可用备机,从而避免了单点故障问题。

            </div>
相关标签: Ngnix