2.5. 将 NGINX 配置为 HTTP 负载均衡器
您可以使用 NGINX 反向代理功能进行负载均衡流量。这个步骤描述了如何将 NGINX 配置为 HTTP 负载均衡器。它会根据服务器上的活跃连接的数量,将请求发送到不同服务器(发送到活跃连接数量最小的服务器)。如果两个服务器都不可用,这个过程还定义了第三个主机用于回退。
先决条件
- NGINX 已安装。
流程
编辑
/etc/nginx/nginx.conf文件并添加以下设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 名为
backend的主机组中的least_conn指令定义 NGINX 将请求发送到server1.example.com或server2.example.com,具体取决于哪个主机具有最少的活动连接数。NGINX 仅在其他两个主机不可用时使用server3.example.com作为备份。当
proxy_pass指令设置为http://backend时,NGINX 充当反向代理,并使用backend主机组根据这个组的设置分发请求。除了使用
least_conn负载平衡方法之外,您还可以指定:- 不指定方法,使用轮询的方式在服务器间平均分发请求。
-
ip_hash根据从客户端的 IPv4 地址的前三个八位字节或整个 IPv6 地址计算的哈希值将来自一个客户端地址的请求发送到同一服务器。 -
hash根据用户定义的键(可以是字符串、变量或两者的组合)来确定服务器。consistent参数配置 NGINX 根据用户定义的散列键值将请求分发到所有服务器。 -
random向随机选择的服务器发送请求。
重启
nginx服务:systemctl restart nginx
# systemctl restart nginxCopy to Clipboard Copied! Toggle word wrap Toggle overflow