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应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
4月前
|
域名解析 网络协议 Linux
Linux网络基础完全指南(小白也能看懂的网络入门教程)
本教程系统讲解Linux网络基础,涵盖IP地址、子网掩码、网关、DNS等核心概念,介绍ifconfig、ip、ping等常用命令及网络配置文件的使用方法,助力掌握Linux网络配置技能。
505 117
|
5月前
|
缓存 负载均衡 应用服务中间件
nginx-sticky怎么用 Nginx 负载均衡添加 sticky 模块完整步骤
nginx-sticky模块可实现会话粘连,确保用户请求始终落在同一台后端服务器。需下载对应Nginx源码,安装编译工具,通过`--add-module`将插件编入Nginx,替换原执行文件,并在upstream中添加`sticky;`指令即可。重启服务并验证会话保持效果。
738 154
|
Web App开发 NoSQL 安全
ARM架构-银河麒麟v10-server离线安装Harbor
ARM架构-银河麒麟v10-server离线安装Harbor
3091 0
|
机器学习/深度学习 vr&ar
一起来学MediaPipe(二)人脸面网格
一起来学MediaPipe(二)人脸面网格
2156 0
一起来学MediaPipe(二)人脸面网格
|
6月前
|
负载均衡 监控 算法
Nginx负载均衡优化(从零开始搭建高性能Web服务)
本教程详解Nginx负载均衡配置,从安装到优化,涵盖反向代理、多种负载策略(轮询、加权轮询、IP Hash等)、健康检查与性能调优,助你构建高可用、高性能的Web架构,小白也能快速上手。
|
6月前
|
安全 Linux 网络安全
Linux下搭建L2TP/IPsec VPN服务(手把手教你配置安全远程连接)
本教程详细介绍如何在Ubuntu 22.04上搭建L2TP/IPsec VPN服务器,涵盖软件安装、IPsec与xl2tpd配置、用户添加、防火墙设置及连接测试,适合初学者快速掌握Linux下安全的VPN搭建方法。
|
4月前
|
运维 Linux 网络安全
CentOS7中Ansible安装与配置全攻略(小白也能看懂的详细教程)
本文详细介绍在CentOS7系统中安装与配置Ansible的完整步骤。从更新系统、添加EPEL源、安装Ansible,到配置主机清单和SSH连接测试,每一步都清晰易懂,适合初学者快速上手自动化运维工具Ansible,实现高效的配置管理和批量操作。
|
3月前
|
人工智能 机器人 数据安全/隐私保护
玩转OpenClaw指南:阿里云+本地部署+6大神级用法,普通人也能10秒上手解锁AI Agent助手生产力,效率翻倍
2026年春节以来,开源AI代理工具OpenClaw(昵称“龙虾”)凭借230K+GitHub星标、近2000万微信指数,成为现象级AI工具。它打破了传统聊天机器人的局限,通过“技能插件+跨端协作”,从简单的信息查询升级为能记账、整理发票、管理日程的“数字员工”。更值得关注的是,MiniMax入局后推出的MaxClaw,让零基础用户也能10秒上手,彻底降低了使用门槛。
2844 1
|
4月前
|
Ubuntu SEO
解决Ubuntu 22.04 IP地址修改重启未生效问题(副标题:小白也能懂的详细教程与SEO优化指南)
本文详细讲解Ubuntu 22.04修改IP地址后重启未生效的解决方案,涵盖netplan配置、服务重启及常见问题排查,步骤清晰,小白也能轻松掌握,确保网络设置持久生效。
|
负载均衡 网络协议 Unix
Nginx负载均衡与故障转移实践
Nginx通过ngx_http_upstream_module模块实现负载均衡与故障转移,适用于多服务器环境。利用`upstream`与`server`指令定义后端服务器组,通过`proxy_pass`将请求代理至这些服务器,实现请求分发。Nginx还提供了多种负载均衡策略,如轮询、权重分配、IP哈希等,并支持自定义故障转移逻辑,确保系统稳定性和高可用性。示例配置展示了如何定义负载均衡设备及状态,并应用到具体server配置中。