Nginx负载均衡故障转移(手把手教你搭建高可用Web服务)

简介: 本教程详解Nginx负载均衡与故障转移配置,通过upstream模块实现高可用反向代理。即使后端服务器宕机,Nginx也能自动切换流量,保障服务连续性,适合运维新手快速上手。

在现代Web应用架构中,Nginx负载均衡是保障服务高可用和性能扩展的关键技术。当某台后端服务器宕机时,如何自动将流量切换到其他健康服务器?这就是故障转移(Failover)要解决的问题。本教程将从零开始,带你一步步配置Nginx实现负载均衡与自动故障转移,即使你是运维小白也能轻松上手!

什么是Nginx负载均衡与故障转移?

Nginx负载均衡是指Nginx作为反向代理,将客户端请求分发到多个后端服务器,以提升系统吞吐量和可靠性。故障转移则是指当其中一台后端服务器不可用时,Nginx能自动检测并停止向其转发请求,将流量全部导向健康的服务器,从而保证服务不中断。

准备工作

你需要:

  • 一台安装了 Nginx 的服务器(作为负载均衡器)
  • 两台或以上的 Web 应用服务器(例如运行 Apache 或 Node.js 的服务器)
  • 基本的 Linux 命令行操作能力

步骤一:配置后端服务器

假设你有两台后端服务器,IP 分别为192.168.1.10192.168.1.11,每台都运行着一个简单的 Web 服务(比如返回 "Server A" 或 "Server B")。

步骤二:编辑 Nginx 配置文件

打开 Nginx 主配置文件(通常位于/etc/nginx/nginx.conf)或在/etc/nginx/conf.d/下创建新配置文件,例如load-balancer.conf

在配置文件中添加以下内容:

upstream backend {    server 192.168.1.10:80 max_fails=3 fail_timeout=30s;    server 192.168.1.11:80 max_fails=3 fail_timeout=30s;}server {    listen 80;    server_name example.com;    location / {        proxy_pass http://backend;        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;    }}

关键参数说明:

  • max_fails=3:允许 Nginx 在 30 秒内最多失败 3 次才判定该服务器不可用。
  • fail_timeout=30s:失败超时时间为 30 秒。在此期间若连续失败达到 max_fails 次,则标记为宕机,并在接下来的 30 秒内不再向其转发请求。

步骤三:测试故障转移功能

1. 启动 Nginx:

sudo nginx -t && sudo systemctl reload nginx

2. 在浏览器或使用curl访问你的域名,应能看到请求被轮流分配到两台服务器(默认轮询策略)。

3. 手动关闭其中一台后端服务器(如192.168.1.10上的服务),再次访问。你会发现所有请求都被自动转发到另一台健康的服务器 —— 这就是 Nginx高可用 的体现!

进阶技巧:主动健康检查(可选)

上述配置使用的是被动健康检查(通过请求失败判断)。如果你使用的是 Nginx Plus(商业版),可以配置主动健康检查。开源版用户可通过第三方模块(如nginx_upstream_check_module)实现类似功能。

总结

通过合理配置 Nginx 的upstream模块,你可以轻松实现 反向代理配置、负载均衡和自动故障转移。这不仅提升了系统的稳定性,也为未来的横向扩展打下基础。记住,高可用不是“有没有”,而是“快不快”——Nginx 能在秒级内完成故障切换,极大减少服务中断时间。

现在,你已经掌握了 Nginx 负载均衡与故障转移的核心技能!快去你的服务器上试试吧~

来源:https://www.vps5.cn/category7.html

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
24天前
|
域名解析 网络协议 Linux
Linux网络基础完全指南(小白也能看懂的网络入门教程)
本教程系统讲解Linux网络基础,涵盖IP地址、子网掩码、网关、DNS等核心概念,介绍ifconfig、ip、ping等常用命令及网络配置文件的使用方法,助力掌握Linux网络配置技能。
315 117
|
2月前
|
负载均衡 监控 算法
Nginx负载均衡优化(从零开始搭建高性能Web服务)
本教程详解Nginx负载均衡配置,从安装到优化,涵盖反向代理、多种负载策略(轮询、加权轮询、IP Hash等)、健康检查与性能调优,助你构建高可用、高性能的Web架构,小白也能快速上手。
|
25天前
|
边缘计算 人工智能 JSON
当多模态走向工程化:Gemini 3.0 Pro 在 API 架构中的适配与限制
随着Gemini 3.0 Pro等原生多模态模型落地,工程挑战从模型转向架构与网络。本文剖析其API适配难点,揭示连接性、协议差异与延迟问题,并提出通过托管聚合网关实现稳定低延迟调用,推动多模态能力在生产环境规模化应用,并探讨基于 poloapi.top 聚合网关(Aggregation Gateway)的跨区域调用方案。
|
25天前
|
运维 Linux 网络安全
CentOS7中Ansible安装与配置全攻略(小白也能看懂的详细教程)
本文详细介绍在CentOS7系统中安装与配置Ansible的完整步骤。从更新系统、添加EPEL源、安装Ansible,到配置主机清单和SSH连接测试,每一步都清晰易懂,适合初学者快速上手自动化运维工具Ansible,实现高效的配置管理和批量操作。
|
25天前
|
Ubuntu SEO
解决Ubuntu 22.04 IP地址修改重启未生效问题(副标题:小白也能懂的详细教程与SEO优化指南)
本文详细讲解Ubuntu 22.04修改IP地址后重启未生效的解决方案,涵盖netplan配置、服务重启及常见问题排查,步骤清晰,小白也能轻松掌握,确保网络设置持久生效。
|
19天前
|
存储 弹性计算 人工智能
租用云服务器多少钱一个月?2026年阿里云服务器租用月付价格说明
租阿里云服务器的月费受实例类型、配置、地域等因素影响,从 25 元到数千元不等,覆盖个人开发、中小企业业务到高性能计算等全场景。以下结合 2026 年最新价格信息,梳理轻量应用服务器、ECS 云服务器及 GPU 服务器的核心配置与月费,帮助用户根据需求精准选择,避免成本浪费。
|
22天前
|
弹性计算 人工智能 缓存
2026年阿里云新用户云产品优惠政策与服务器租赁价格指南
2026 年阿里云针对新用户推出差异化服务器优惠政策,覆盖轻量应用服务器、ECS 云服务器及 GPU 服务器三大品类,提供从 2 核 2G 到 8 核 32G 的多档配置,通过限时秒杀、固定低价套餐等形式降低新用户上云门槛。不同实例适配从个人开发到企业级轻量业务的多元需求,同时支持灵活的月租与年租模式,核心围绕 “低门槛入门、长期成本可控” 设计。本文结合实例特性、价格体系及适用场景,为新用户提供客观选型参考。
|
22天前
|
C# 数据库 Windows
C# WinForms数据绑定详解(手把手教你将数据源绑定到WinForms控件)
本教程带你快速掌握C# WinForms数据绑定,通过定义员工模型并绑定到ListBox和DataGridView,实现数据自动展示。介绍DataSource、DisplayMember及BindingSource的使用,帮助新手减少重复代码,提升开发效率,是WinForms入门必备技能。(238字)
|
23天前
|
机器学习/深度学习 数据安全/隐私保护 iOS开发
Mac安装Miniconda完整指南(从零开始配置Python环境)
本教程详细介绍如何在Mac上从零安装Miniconda,配置Python环境。涵盖下载、安装、验证及常用Conda命令,帮助用户轻松搭建数据科学开发环境,适合新手快速上手。
|
1月前
|
监控 Java 开发工具
Android 崩溃监控实战:一次完整的生产环境崩溃排查全流程
某 App 新版上线后收到大量用户投诉 App 闪退和崩溃。仅凭一条崩溃日志和会话追踪,团队如何在2小时内锁定「快速刷新导致数据竞态」这一根因?本文带你复现真实生产环境下的完整排查路径:从告警触发、堆栈分析、符号化解析,到用户行为还原——见证 RUM 如何让“无法复现的线上崩溃”无所遁形。
344 38