讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux Nginx 怎么配置后端故障转移实现高可用集群

夏丽酱_6869

夏丽酱_6869

发布时间:2026-10-15 06:52:50

|

101人浏览过

|

来源于php中文网

原创

Linux下Nginx高可用集群需Nginx upstream健康检查+Keepalived VIP漂移协同实现:upstream通过max_fails/fail_timeout自动剔除故障后端并启用backup节点,Keepalived通过VRRP管理VIP,主备节点用track_script检测Nginx进程确保真实可用,客户端始终访问VIP实现无感切换。

linux nginx 怎么配置后端故障转移实现高可用集群

Linux 下用 Nginx 实现后端故障转移、构建高可用集群,核心不是靠单台 Nginx 自身“多活”,而是通过上游服务器健康探测 + 自动剔除 + 备用节点接管三步完成。Nginx 本身不提供 VIP 漂移或主备切换能力,它负责的是七层流量分发与后端容错;真正的“高可用”需要搭配 Keepalived(管虚拟 IP)和 upstream 健康检查(管后端服务)协同实现。

配置 upstream 实现后端自动故障转移

Nginx 的 upstream 模块是后端故障转移的基础。只要正确设置健康检查参数,Nginx 就能在某个后端宕机时自动跳过它,把请求转给其他健康的节点。

  • 在 http 块中定义 upstream,例如:
upstream backend_servers {
    server 192.168.1.201:8080 max_fails=3 fail_timeout=30s;
    server 192.168.1.202:8080 max_fails=3 fail_timeout=30s;
    server 192.168.1.203:8080 backup;  # 仅当其他全不可用时才启用
}
  • max_fails 表示连续失败多少次就标记该节点为不可用;
  • fail_timeout 是判定“不可用”的时间窗口(单位秒),超时后会重新尝试连接;
  • backup 标记的节点默认不参与负载,只在所有非 backup 节点失效时启用,适合做冷备;
  • 若需更主动探测,可配合 health_check 指令(需 Nginx Plus)或使用开源模块如 nginx_upstream_check_module 编译安装。

用 Keepalived 管理虚拟 IP 实现 Nginx 自身高可用

单台 Nginx 仍是单点——如果它挂了,整个入口就断了。所以必须部署至少两台 Nginx(主+备),再用 Keepalived 绑定一个对外统一的虚拟 IP(VIP),由它决定当前谁持有这个 IP。

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载
  • 主节点 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 123456; }
    virtual_ipaddress { 192.168.1.100/24 }
    track_script { check_nginx; }
}
  • 备节点只需将 state 改为 BACKUP、priority 设为更低(如 90);
  • 务必添加 track_script 并编写检测脚本(如检查 nginx 进程或端口是否存活),否则 Keepalived 不知道 Nginx 是否真挂了;
  • 脚本示例(/etc/keepalived/check_nginx.sh):
#!/bin/bash
if ! kill -0 $(cat /var/run/nginx.pid) 2>/dev/null; then
    systemctl start nginx &>/dev/null
    sleep 2
    if ! kill -0 $(cat /var/run/nginx.pid) 2>/dev/null; then
        systemctl stop keepalived
    fi
fi
  • 赋予执行权限:chmod +x /etc/keepalived/check_nginx.sh;
  • 启动服务:systemctl enable --now keepalived。

确保客户端始终访问同一个 VIP

客户端只认那个虚拟 IP(如 192.168.1.100),不关心背后是哪台 Nginx 在干活。Keepalived 保证这个 IP 总是在一台健康的 Nginx 上生效。只要主节点 Nginx 或系统异常,VIP 会在 1–3 秒内自动漂移到备用节点,用户无感知。

  • 注意:两台 Nginx 的配置文件(nginx.conf 和所有 server/upstream)必须完全一致;
  • 建议用 rsync 或 Ansible 同步配置,避免因配置差异导致行为不一致;
  • 防火墙要放行 VRRP 协议(协议号 112)和 VIP 所在网段通信;
  • 不要在两台机器上手动绑定同一个 VIP,会造成 ARP 冲突。

验证与日常维护要点

上线前必须做真实故障模拟,不能只看进程是否运行。

  • 手动停掉主节点的 nginx:systemctl stop nginx,观察 VIP 是否秒级迁移到备机(用 ip a 查看);
  • curl 测试 VIP 地址是否仍能正常返回后端响应;
  • 查看 Keepalived 日志:journalctl -u keepalived -f,确认状态切换记录;
  • 定期检查 upstream 后端状态:Nginx 提供 stub_status 或接入 Prometheus + nginx-vts-exporter 可视化各节点活跃数、失败数;
  • 避免把健康检查路径(如 /healthz)暴露给公网,防止被恶意刷探针。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2463

2023.08.11

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

6350

2024.03.19

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

5726

2024.03.19

服务器是什么
服务器是什么

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

437

2023.08.15

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

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

920

2023.09.08

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

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

2892

2023.09.19

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

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

976

2023.10.09

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

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

869

2023.10.17

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

0

2026.10.14

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn