Nginx是大型架构的必备技能,下面我重点详解Nginx主从架构@mikechen
Nginx主从
Nginx 主从(Master-Slave / Active-Standby),是一种为了防止“单点故障”而设计的服务器部署方案。
核心痛点:如果你的系统只有一台 Nginx 服务器作为入口,一旦这台服务器宕机(断电、系统崩溃、硬件损坏),整个网站或服务就会立即中断。
解决方案:引入第二台 Nginx 服务器作为“备胎”(Slave)。

主节点 (Master):平时负责处理所有的用户请求。
从节点 (Slave):平时处于待命状态,实时监听主节点的心跳。一旦发现主节点挂了,立刻接管主节点的工作。
Nginx主从架构
Nginx主从模式主要利用两台或多台服务器分别做主(Master)和从(Slave),由Keepalived管理VIP:
整体架构,如下图所示:

正常运行时,VIP在主机(Master)上,所有请求流量由主Nginx处理,从机处于待命状态。
当主机或主Nginx进程宕机时,VIP自动漂移到从机(Slave)。
Slave上的Nginx替代处理外界访问,保障服务不中断。
系统可监控Nginx服务状态,若主Nginx挂掉,脚本可尝试重启Nginx。
重启失败则自动关闭Keepalived进程,使VIP切换到从机。
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.88.50
}
track_script {
chk_nginx
}
}
脚本用于检测Nginx主进程和端口存活情况,失败则触发VIP漂移。
mikechen睿哥
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。