利用Keepalived实现NGINX Plus的高可用(HA)部署可以确保在其中一台服务器故障时,另一台服务器能够自动接管服务,实现无缝的故障转移。以下是实现该部署的教程:

蓝易云服务器 - 利用Keepalived实现NGINX PLUS的HA部署教程_高可用性

1. 安装NGINX Plus

首先,确保您已经安装了NGINX Plus并成功配置了负载均衡。确保NGINX配置文件中有对应的upstream服务器组。

2. 安装Keepalived

在两台服务器上安装Keepalived。Keepalived是一个用于实现VRRP协议的软件,它用于在多台服务器之间实现高可用性。

在Ubuntu或Debian系统上,可以使用以下命令安装Keepalived:

sudo apt-get update
sudo apt-get install keepalived
  • 1.
  • 2.

在CentOS或Red Hat系统上,可以使用以下命令安装Keepalived:

sudo yum install keepalived
  • 1.

3. 配置Keepalived

在两台服务器上,需要配置Keepalived以实现高可用性。打开Keepalived的配置文件:

sudo nano /etc/keepalived/keepalived.conf
  • 1.

在两台服务器上,配置文件内容应该类似,只有 priority参数不同,例如:

Server 1:

global_defs {
    router_id nginx_server1
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass your_authentication_password
    }
    virtual_ipaddress {
        10.0.0.100
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

Server 2:

global_defs {
    router_id nginx_server2
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass your_authentication_password
    }
    virtual_ipaddress {
        10.0.0.100
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

在上述配置中:

  • global_defs: 定义全局参数,router_id用于标识服务器。
  • vrrp_instance VI_1: 定义一个VRRP实例,使用 virtual_router_id标识实例。
  • state: 在两台服务器上分别设置为MASTER和BACKUP,其中MASTER是优先处理请求的服务器。
  • interface: 设置用于VRRP通信的网络接口。
  • virtual_router_id: 设置VRRP虚拟路由器的ID,确保两台服务器的ID相同。
  • priority: 设置服务器的优先级,优先级高的服务器将成为MASTER。
  • advert_int: 设置VRRP广播通告的时间间隔。
  • authentication: 设置VRRP认证方式和密码。
  • virtual_ipaddress: 设置虚拟IP地址,客户端将通过此地址访问NGINX Plus。

4. 启动Keepalived

在两台服务器上启动Keepalived,并设置为开机自启动:

sudo systemctl start keepalived
sudo systemctl enable keepalived
  • 1.
  • 2.

5. 测试高可用性

现在,您已经成功地配置了NGINX Plus的高可用部署。测试高可用性,可以通过访问之前配置的虚拟IP地址(例如10.0.0.100),并检查NGINX Plus服务是否正常工作。然后,尝试关闭其中一台服务器的NGINX Plus服务,确保另一台服务器能够接管服务并继续提供服务。