如何通过Nginx Upstream模块实现高效轮询式负载均衡?
- 内容介绍
- 文章标签
- 相关推荐
本文共计714个文字,预计阅读时间需要3分钟。
直接在服务器块中编写会报错。Nginx启动时提示:
正确位置示例:
http { upstream backend { server 192.168.1.10:8080; server 192.168.1.11:8080; } server { location / { proxy_pass http://backend; } } }
- upstream名称(如
backend)要和proxy_pass中引用的名称严格一致,区分大小写 - 每个
server行末不加;以外的符号,比如不能写server 127.0.0.1:3000 weight=2;后面多一个逗号 - IP和端口必须可达,Nginx启动时不会校验连通性,但第一次请求失败会记录
no live upstreams错误
轮询是默认策略,无需额外关键字
只要没写ip_hash、least_conn或hash $request_uri这类指令,Nginx就自动按顺序轮流分发请求——不是严格“1-2-1-2”,而是基于连接数动态调整的加权轮询(weight=1时等效于简单轮询)。
本文共计714个文字,预计阅读时间需要3分钟。
直接在服务器块中编写会报错。Nginx启动时提示:
正确位置示例:
http { upstream backend { server 192.168.1.10:8080; server 192.168.1.11:8080; } server { location / { proxy_pass http://backend; } } }
- upstream名称(如
backend)要和proxy_pass中引用的名称严格一致,区分大小写 - 每个
server行末不加;以外的符号,比如不能写server 127.0.0.1:3000 weight=2;后面多一个逗号 - IP和端口必须可达,Nginx启动时不会校验连通性,但第一次请求失败会记录
no live upstreams错误
轮询是默认策略,无需额外关键字
只要没写ip_hash、least_conn或hash $request_uri这类指令,Nginx就自动按顺序轮流分发请求——不是严格“1-2-1-2”,而是基于连接数动态调整的加权轮询(weight=1时等效于简单轮询)。

