2.5. 将 NGINX 配置为 HTTP 负载均衡器


您可以使用 NGINX 反向代理功能进行负载均衡流量。这个步骤描述了如何将 NGINX 配置为 HTTP 负载均衡器。它会根据服务器上的活跃连接的数量,将请求发送到不同服务器(发送到活跃连接数量最小的服务器)。如果两个服务器都不可用,这个过程还定义了第三个主机用于回退。

先决条件

  • NGINX 已安装。

流程

  1. 编辑 /etc/nginx/nginx.conf 文件并添加以下设置:

    http {
        upstream backend {
            least_conn;
            server server1.example.com;
            server server2.example.com;
            server server3.example.com backup;
        }
    
        server {
            location / {
                proxy_pass http://backend;
            }
        }
    }
    Copy to Clipboard Toggle word wrap

    名为 backend 的主机组中的 least_conn 指令定义 NGINX 将请求发送到 server1.example.comserver2.example.com,具体取决于哪个主机具有最少的活动连接数。NGINX 仅在其他两个主机不可用时使用 server3.example.com 作为备份。

    proxy_pass 指令设置为 http://backend 时,NGINX 充当反向代理,并使用 backend 主机组根据这个组的设置分发请求。

    除了使用 least_conn 负载平衡方法之外,您还可以指定:

    • 不指定方法,使用轮询的方式在服务器间平均分发请求。
    • ip_hash 根据从客户端的 IPv4 地址的前三个八位字节或整个 IPv6 地址计算的哈希值将来自一个客户端地址的请求发送到同一服务器。
    • hash 根据用户定义的键(可以是字符串、变量或两者的组合)来确定服务器。consistent 参数配置 NGINX 根据用户定义的散列键值将请求分发到所有服务器。
    • random 向随机选择的服务器发送请求。
  2. 重启 nginx 服务:

    # systemctl restart nginx
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部