下载
http://nginx.org/en/download.html
nginx的负载均衡策略
轮询(默认)
每个请求按照请求时间顺序分配到不同的后端服务器,如果后端服务器挂了,则自动剔除。
此策略还可以设置:权重,指定轮询的频率,weight和访问率成正比,用于后端服务器性能不均匀的情况。
ip_hash
客户端ip地址被用作hash key来判断客户端请求应该发送到哪个服务器,这种方法保证了来自相同客户端的请求总是发送到相同服务器。
least_conn
最少连接策略,nginx会尽量不让负载繁忙的应用服务器上负载过多的请求,相反的,会把新的请求发送到比较不繁忙的服务器。
配置示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | http { upstream serverlist{ ip_hash; ##least_conn; ## 屏蔽上述两个参数即采用默认的策略:轮询 server www.test1.com weight=3; // 或者ip+端口 , 不需要加入http/https前缀 server www.test2.com weight=2; server www.test3.com; // 默认 weight=1 } server { listen 80; location / { proxy_pass http: //serverlist; } } } |
故障下线、备份服务、访问失败等配置
1.down
假如有一台主机是出了故障,或者下线了,要暂时移出,那可以把它标为down,表示请求是会略过这台主机的。
1 2 3 4 | upstream serverlist{ server www.test1.com; // 或者ip+端口 , 不需要加入http/https前缀 server www.test2.com down; } |
2.backup
backup是指备份的机器,相对于备份的机器来说,其他的机器就相当于主要服务器,只要当主要服务器不可用的时候,才会用到备用服务器。
1 2 3 4 | upstream serverlist{ server www.test1.com; // 或者ip+端口 , 不需要加入http/https前缀 server www.test2.com backup; } |
3.max_fails和fail_timeout
默认情况下,max_fails的值为1,表示的是请求失败的次数,请求1次失败就换到下台主机。另外还有一个参数是fail_timeout,表示的是请求失败的超时时间,在设定的时间内没有成功,那作为失败处理。
1 2 3 4 | upstream serverlist{ server www.test1.com max_fails=2; // 或者ip+端口 , 不需要加入http/https前缀 server www.test2.com backup; } |
分类:
nginx
标签:
nginx下载
, nginx负载均衡策略
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?