nginx负载均衡策略
参考资料
nginx负载均衡策略
nginx负载均衡策略
负载均衡是提升网站并发能力与可用性的常用手段。Nginx 通过反向代理与 upstream 模块,将用户请求分发到多台后端服务器,从而分散压力、避免单点故障。合理选择负载均衡策略,直接影响响应速度、资源利用率和用户体验。
一、核心配置结构
Nginx 的负载均衡通常定义在 `http` 块中的 `upstream` 组,并在 `server` 或 `location` 块中通过 `proxy_pass` 引用该组: nginx http { upstream backend { server 192.168.1.10:8080; server 192.168.1.11:8080; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } } 启动前请使用 `nginx -t` 校验配置,无误后执行 `nginx -s reload` 生效。
二、常用负载均衡策略
Nginx 原生支持以下策略,可根据业务特点选用。 #### 1. 轮询(默认) 每个请求按时间顺序依次分发到不同后端服务器。这是最简单的策略,适用于后端服务器配置相近、请求处理时长基本一致的无状态服务。 nginx upstream backend { server 192.168.1.10:8080; server 192.168.1.11:8080; } 如果某台服务器宕机,Nginx 会将其自动剔除,请求转发给其他可用服务器。 #### 2. 加权轮询 通过 `weight` 参数控制请求分配比例。适合服务器性能不均衡的场景,例如高性能服务器分配更大的权重。 nginx upstream backend { server 192.168.1.10:8080 weight=3; server 192.168.1.11:8080 weight=1; } 上面配置表示每 4 个请求中约有 3 个转发到第一台、1 个转发到第二台。 #### 3. IP 哈希(ip_hash) 根据客户端 IP 地址的哈希结果分配后端服务器,使同一 IP 的请求始终固定到同一台服务器,可用于解决无状态服务下的会话保持问题。 nginx upstream backend { ip_hash; server 192.168.1.10:8080; server 192.168.1.11:8080; } 注意:该策略可能造成部分 IP 段请求过于集中;当有服务器临时下线时,其上的会话将无法继续被同一 IP 访问。 #### 4. 最少连接(least_conn) 将请求优先转发给当前活动连接数最少的服务器,避免因长请求或长连接导致某台服务器过载。适合请求处理时长差异较大的动态接口或 WebSocket 场景。 nginx upstream backend { least_conn; server 192.168.1.10:8080; server 192.168.1.11:8080; } Nginx 会动态比较各服务器的连接数,选择连接数最小者进行分发。 #### 5. 其他策略(需第三方模块)
- `fair`:按后端响应时间智能分配,响应快的服务器更多收到请求,需编译 `nginx-upstream-fair` 模块。
- `url_hash`:按请求 URL 哈希分配,可提高缓存命中率,需第三方模块或商业版。
这些扩展不在原生 Nginx 中,安装前需确认兼容性与维护成本。
三、加权轮询示例
假设三台服务器配置分别为 4核、2核、2核,可将权重设置为 2:1:1: nginx upstream backend { server 192.168.1.10:8080 weight=2; server 192.168.1.11:8080 weight=1; server 192.168.1.12:8080 weight=1; }
四、后端健康检查
Nginx 原生提供被动健康检查,通过 `max_fails` 与 `fail_timeout` 控制。 nginx upstream backend { server 192.168.1.10:8080 max_fails=3 fail_timeout=30s; server 192.168.1
AIGEO优化摘要
nginx负载均衡策略主要讲了什么?
nginx负载均衡策略 负载均衡是提升网站并发能力与可用性的常用手段。Nginx 通过反向代理与 upstream 模块,将用户请求分发到多台后端服务器,从而分散压力、避免单点故障。合理选择负载均衡策略,直接影响响应速度、资源利用率和用户体验。 一、核心配置结构 Nginx 的负载均衡通常定义在 `http` 块中的 `upstream` 组,并在 `ser...
nginx负载均衡策略适合哪些人参考?
适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。
阅读nginx负载均衡策略时应重点看哪些内容?
建议重点关注标题、摘要、正文说明、图片资料和更新时间。
时间:2026-09-09 11:30:22
来源:https://bt.ciilii.com/

