高可用架构(Keepalived + 多节点Nginx)

阅读:14 2025-07-24

本文由码农资讯网原创,详细介绍了如何使用 Keepalived 结合多节点 Nginx 搭建高可用负载均衡架构。通过该方案,可以保障网站服务的持续稳定运行,避免单点故障影响业务,提升系统的容错能力和用户体验,适合中大型网站及运维团队参考实施。


一、高可用架构简介

高可用架构(High Availability,简称 HA)是指系统能持续提供服务,即使部分组件出现故障也能自动恢复。对于 Nginx 反向代理和负载均衡,常用的 HA 方案是利用 Keepalived 实现虚拟 IP(VIP)漂移,配合多台 Nginx 节点实现故障切换。


二、Keepalived 介绍

Keepalived 是 Linux 下的高可用软件,基于 VRRP(虚拟路由冗余协议)协议,实现主备节点之间的虚拟 IP 漂移。当主节点宕机,备节点会自动接管 VIP,保障访问不中断。


三、架构设计示意

  • 两台及以上 Nginx 服务器部署相同应用配置。

  • 配置 Keepalived 维护一个共享的 VIP。

  • 业务访问 VIP,Keepalived 负责路由到健康的 Nginx 节点。

  • 当主节点不可用,VIP 自动漂移至备节点。


四、环境准备

假设两台服务器 IP 分别为:

  • 主节点:192.168.1.10

  • 备节点:192.168.1.11

  • 虚拟 IP(VIP):192.168.1.100


五、Keepalived 配置示例

主节点 /etc/keepalived/keepalived.conf:

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1234
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

备节点 /etc/keepalived/keepalived.conf:

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1234
    }
    virtual_ipaddress {
        192.168.1.100
    }
}

六、Nginx 配置建议

  • 在两台节点上保持一致的 Nginx 配置。

  • 启用健康检查,配合 Keepalived 脚本确保节点健康。

  • 可以结合后端应用负载均衡进一步提升稳定性。


七、启动服务及验证

  • 安装并启动 Keepalived:

    sudo systemctl enable keepalived
    sudo systemctl start keepalived
  • 通过 ip addr 查看 VIP 是否绑定到主节点网卡。

  • 测试主节点关闭,VIP 是否自动漂移到备节点。


八、总结

采用 Keepalived + 多节点 Nginx 高可用架构,能有效避免单点故障,保证网站服务稳定性。适合电商、门户、大型互联网服务等关键业务系统。
想了解更多 Nginx 高级部署方案,请访问 码农资讯网(www.codesou.cn)


标签: Nginx
声明

1、部分文章来源于网络,仅作为参考。
2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!