负载均衡实战:用 Nginx 搭建高可用流量分发架构

做过高并发项目的运维或开发都清楚,单台服务器扛流量很容易在高峰期卡顿、宕机,只靠升级配置治标不治本。想让服务稳定、响应快、能扩容,负载均衡是绕不开的核心方案。本文结合实际部署经验,用 Nginx 手把手教你在多台 VPS 上搭建负载均衡,把流量均匀分到后端节点,兼顾可用性与扩展性。

一、负载均衡到底是什么?

简单说,负载均衡器就是流量调度员,放在所有后端服务器前面,按你设定的规则把用户请求分发到不同节点。
它的核心价值有三点:
  1. 性能更稳:流量分散开,没有单台机器被压垮,高峰期响应也不会忽快忽慢。
  2. 高可用:某台节点挂了或要维护,负载均衡器自动剔除,业务不中断。
  3. 易扩容:加机器就能加算力,不用重构架构,水平扩展很方便。

负载均衡实战:用 Nginx 搭建高可用流量分发架构

二、流量怎么分?常用算法一次讲清

负载均衡不是随机转发,而是靠算法决策,分为静态动态两大类,实际部署按需选就行。

静态算法(按固定规则分发)

  • 轮询:请求按顺序轮流给每台节点,配置最简单,适合节点性能差不多的场景。
  • 加权轮询:性能好的节点权重设高,分到更多流量,适合机器配置不一的集群。
  • IP 哈希:同一个 IP 固定访问同一台节点,能保留会话状态,适合需要登录态的业务。

动态算法(按实时状态分发)

  • 最少连接:把请求分给当前连接数最少的节点,对处理时长差异大的请求更友好,避免某台机器堆积任务。

三、Nginx 负载均衡完整部署步骤(可直接照抄)

我们用 Nginx 做软件负载均衡,成本低、配置灵活,中小流量场景完全够用,步骤都是实测可落地的。

准备工作

至少准备 3 台 VPS:2 台做后端业务节点,1 台专门做负载均衡,所有机器系统保持一致,建议用 Ubuntu/Debian。

步骤 1:部署后端业务节点

在 2 台后端 VPS 上装好应用,保证代码、环境、端口完全一致,确保单独访问每台都能正常响应,这是负载均衡生效的基础。

步骤 2:搭建负载均衡服务器

新开 1 台 VPS,只做流量转发,不跑业务,避免资源争抢。

步骤 3:安装 Nginx

执行下面两条命令,快速装好 Nginx:
sudo apt update
sudo apt install nginx

步骤 4:核心配置(反向代理 + 负载均衡)

编辑 Nginx 配置文件,定义后端节点池:
nginx
upstream backend {
    server 后端节点1IP;
    server 后端节点2IP;
}
server {
    listen 80;
    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
backend里的 IP 换成你自己的 VPS 地址,这一步就把所有 80 端口请求转发到后端集群。

步骤 5:校验配置并重启

先测试配置有没有语法错误,再重载生效:
sudo nginx -t
sudo nginx -s reload
看到test is successful就说明配置没问题。

步骤 6:域名解析指向负载均衡器

把业务域名的 A 记录解析到负载均衡 VPS 的公网 IP,用户访问域名就会走负载均衡分发流量。

四、生产环境必加的 3 个优化配置

基础配置能用,但上线要加健壮性优化,这都是踩坑总结的要点。

1. 健康检查(自动剔除故障节点)

给每个后端节点加失败检查,连续失败 3 次、30 秒内不再转发,避免把流量导给挂掉的机器:
nginx
upstream backend {
    server 节点1IP max_fails=3 fail_timeout=30s;
    server 节点2IP max_fails=3 fail_timeout=30s;
}

2. 会话保持(登录不掉线)

电商、后台管理等需要登录态的业务,用ip_hash保证用户一直访问同一台节点,会话不丢失:
nginx
upstream backend {
    ip_hash;
    server 节点1IP;
    server 节点2IP;
}

3. HTTPS 加密(SSL 卸载)

把证书放在负载均衡器,统一处理 HTTPS,后端只跑 HTTP,简化维护,用 Certbot 一键配置:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d 你的域名
执行后自动生成 SSL 配置,重启 Nginx 即可启用 HTTPS。

五、横向扩容:加节点不中断服务

业务涨了要加机器,不用改复杂架构:
  1. 新开 VPS,部署和后端一致的应用;
  2. 把新节点 IP 加到 Nginx 的upstream块;
  3. 执行nginx -s reload,新机器立刻开始承接流量,全程不影响在线用户。

原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2428.html

Like (1)
Previous 2026年4月14日 上午11:06
Next 2026年4月15日 上午11:07

相关推荐

  • DNS 是什么? 为什么网站一定要有 DNS 服务器?

    今天余初云带你一次看懂 DNS 是什么、DNS 如何运作、DNS 服务器种类与必备 DNS 纪录,并教你为什么网站一定要正确设定 DNS,避免网站打不开、无法登入、API 中断等高…

    2026年3月30日
    0
  • 浏览器缓存是什么?网页缓存配置机制推荐

    当用户访问网站时,浏览器会向网页服务器请求所需文件,这些文件会在用户屏幕上显示。为了避免反复请求相同的资源并加快加载过程,浏览器缓存将这些文件的副本存储在本地。当用户再次访问该网站…

    2026年4月11日
    0
  • web应用防火墙主要防护什么

    Web 应用防火墙(Web Application Firewall,简称 WAF)能够为您的网站或 App 业务构建全方位的 Web 应用安全屏障。 Http(S) 请求在抵达源…

    2026年6月17日
    0
  • 什么是 PostgreSQL?一款开源数据库系统

    PostgreSQL 是一款开源的对象关系型数据库系统,能安全、稳定地应对各种复杂的数据处理需求。下面就为大家介绍PostgreSQL的基本概念、常见应用场景。 什么是 Postg…

    2026年4月23日
    0
  • 什么是LLM?企业导入LLM的常见应用场景

    自2022年ChatGPT的惊艳问世,到如今国内文心一言、豆包、deekseek、千问等国内AI工具激烈竞争,生成式人工智能已彻底改变了我们的生活与工作方式。但你是否好奇,这些强大…

    2026年4月1日
    0
  • 如何修复 DNS_PROBE_FINISHED_NXDOMAIN 错误

    当浏览器找不到网站的 IP 地址时,会出现 DNS_PROBE_FINISHED_NXDOMAIN 错误。简单来说,域名的解析不正常。 如果你遇到这个错误,请先尝试以下快速修复方法…

    2026年3月26日
    0
  • 如何在服务器上安装 PHP(Linux / Windows / macOS)

    这篇文章会带你在 Linux、Windows 和 macOS 三个系统上完成 PHP 的安装,并介绍如何与 Apache 或 Nginx 配合使用、安装常用扩展,以及验证安装是否成…

    2026年4月20日
    0
  • 云主机快照有什么作用?

    伴随用户业务的推进,云主机磁盘数据持续发生变化,用户期望对某些关键时刻的数据进行备份,方便后续磁盘数据发生异常时,能够回退到备份时的状态,此时我们便可以借助云主机快照功能,实现数据…

    2026年6月13日
    0
  • 高防ip是什么?

    高防 IP 属于一项付费增值服务,主要用于解决互联网服务器遭遇大流量 DDoS 攻击后服务中断的问题。用户配置该 IP 后,可把攻击流量导向高防节点,保障源服务器平稳运行。该服务无…

    2026年5月27日
    0
  • 拒绝服务攻击 DoS 与 DDoS 解析

    在网络安全领域,DoS 和 DDoS 是两类高频且危害显著的攻击方式,二者核心目的都是让目标网络或服务器无法正常提供服务,但攻击模式、破坏力和应对难度截然不同。 DoS,即拒绝服务…

    2026年5月18日
    0