Nginx 中双机热备中如何配置虚 IP 的漂移逻辑

大雪姑娘_6959

大雪姑娘_6959

2026-07-19

264人浏览

原创

vip漂移由keepalived基于vrrp协议实现,nginx仅作无状态反向代理;关键配置virtual_router_id、authentication、advert_int、interface必须严格一致,priority决定归属,需配合vrrp_script健康检查及基础环境准备(防火墙、selinux、时间同步等)。

nginx 中双机热备中如何配置虚 ip 的漂移逻辑

虚 IP(VIP)漂移不是 Nginx 自身实现的,而是由 Keepalived 基于 VRRP 协议控制的。Nginx 在其中只作为无状态反向代理运行,不参与选主或漂移决策。真正决定 VIP 归属的是 Keepalived 的 priority 比较和健康状态反馈。

关键配置项必须严格一致

两台节点的以下参数若不完全相同,VRRP 报文将被丢弃,VIP 无法协商:

  • virtual_router_id:取值 0–255,同一局域网内必须唯一且两端一致;
  • authentication:auth_type(如 PASS)与 auth_pass(密码)必须逐字相同;
  • advert_int:建议设为 1(心跳间隔 1 秒),这是实现秒级响应的基础;
  • interface:绑定的物理网卡名(如 ens160、eth0)需真实存在,且命名尽量统一。

priority 决定 VIP 归属,state 仅是初始标识

不要依赖 state MASTER/BACKUP 锁定角色——它只是启动时的初始状态。实际 VIP 绑定取决于 priority 数值大小:

Nginx Hosting
Nginx Hosting

通过服务器本地nginx实例实现零认证静态游戏托管。作为所有浏览器游戏的主要部署方式,无需登录、无需令牌、无需用户操作。

下载
  • 主节点 priority 设为 101,备节点设为 99(差值 ≥2 更稳妥);
  • 两台都配 state BACKUP 是更安全的做法,可降低脑裂风险;
  • 若希望主恢复后自动抢回 VIP,需在 vrrp_instance 外显式添加 nopreempt;若不写,默认启用抢占。

必须配合健康检查脚本,避免“假活”

Keepalived 默认只检测进程存活或端口可达,无法感知 Nginx 内部异常(如 worker 崩溃但 master 仍在)。因此要引入自定义检查:

  • 编写 nginx_check.sh 脚本,执行 curl -f http://127.0.0.1/health 或检查 worker 进程数;
  • 在 keepalived.conf 中通过 vrrp_script 定义检查逻辑,并绑定到 vrrp_instance;
  • 脚本失败时自动降低本机 priority(如减 20),触发 VIP 漂移。

基础环境准备不可跳过

很多 VIP 不漂移的问题根源不在 Keepalived 配置,而在底层环境:

  • 关闭防火墙或放行 VRRP 协议(协议号 112)及组播地址 224.0.0.18;
  • 禁用 SELinux(setenforce 0 + 修改 /etc/sysconfig/selinux);
  • 开启 IP 转发:echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p;
  • 确保两节点时间同步(chronyd/ntpd),偏差过大会影响健康检查判定。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

nginx

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

920

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2972

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2696

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5032

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

787

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

nginx手册
nginx手册

共0课时 | 0人学习

进程与SOCKET
进程与SOCKET

共6课时 | 0.5万人学习