Nginx主从
Nginx主从配置的核心是利用冗余备份和故障转移机制,通过Keepalived等工具实现VIP的管理和切换,从而确保Web服务的高可用性。
整体架构,如下图所示:
配置两台或多台Nginx服务器,其中一台作为主服务器,负责处理主要的Web请求,其余服务器作为从服务器,作为主服务器的备份。
所有服务器上的Nginx配置保持一致,确保在切换时能够提供相同的服务。
Nginx主从工作原理
整体工作流程,分为如下三阶段:
第一阶段: 正常运行阶段
VIP绑定在主节点(Master)上,客户端访问 VIP,流量由主节点的 Nginx 处理。
Keepalived 使用 VRRP 协议 定期广播主节点存活状态;
Keepalived的主要功能包括:
- 健康检查:定期检测主服务器的运行状态,例如Nginx进程是否正常运行。
- VIP管理:负责VIP的绑定和切换。
- 故障转移:当检测到主服务器故障时,自动将VIP切换到从服务器。
第二阶段: 主节点故障。
当出现以下任意问题时,主节点被认为“宕机”:
比如:
-
主机掉电;
-
Nginx 进程挂掉;
-
网络中断;
-
Keepalived 检测失败。
第三阶段: 自动切换机制。
从节点检测不到主节点的心跳;
从节点自动将 VIP 漂移(绑定)到本机;
从节点成为新的 Master,继续处理流量;
切换时间通常在 1~2 秒内完成,对用户几乎无感知。
Nginx主从配置
Nginx主从配置,整体如下:
Client 请求 │ ┌────────────────────┐ │ VIP: 192.168.0.100 │ ← 客户端只访问这个地址 └────────┬───────────┘ │ ┌──────────┴──────────┐ │ │ ┌────────────┐ ┌────────────────┐ │ 主节点Nginx │ │ 备节点Nginx │ │ 192.168.0.10│ │ 192.168.0.11 │ │ Keepalived │ │ Keepalived │ │ state: MASTER │ state: BACKUP │ └────────────┘ └────────────────┘
角色 | 配置关键点 |
---|---|
主节点 | state MASTER ,priority 高 ,绑定 VIP |
从节点 | state BACKUP ,priority 低 ,等待接管 |
可靠性增强 | track_script 检测 Nginx 状态,必要时自动降级 |
通过主从模式,系统可以在主节点故障时快速切换到从节点,减少服务中断时间。
通过多节点的配置,系统不再依赖单一节点,提高了整体的稳定性和可靠性。