nginx负载均衡策略
nginx负载均衡配置:
upstream myservers { server localhost:8081; server localhost:8082; } server { listen 8080; server_name localhost; location / { proxy_pass http://myservers; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
负载均衡策略:
1、轮询:
参数:
fail_timeout | 与max_fails结合使用。 |
---|---|
max_fails | 设置在fail_timeout参数设置的时间内最大失败次数,如果在这个时间内,所有针对该服务器的请求都失败了,那么认为该服务器会被认为是停机了 |
fail_time | 服务器会被认为停机的时间长度,默认为10s。 |
backup | 标记该服务器为备用服务器。当主服务器停止时,请求会被发送到它这里。 |
down | 标记服务器永久停机了。 |
例如:
upstream myservers { server localhost:8081 max_fails=3 fail_timeout=20s fail_time=100s; #20秒内有3次请求失败则认为服务器挂机,停止访问100秒
server localhost:8082;
server localhost:8082 backup #表示该服务器为备用服务器
}
2、权重:
upstream myservers { server localhost:8081; max_fails=3 fail_timeout=20s fail_time=100s; #20秒内有3次请求失败则认为服务器挂机,停止访问100秒 server localhost:8082 weight=2; #默认权重为1,2代表访问该服务器的几率是其他服务器的2倍 server localhost:8082; backup #表示该服务器为备用服务器 }
3、ip_hash:
upstream myservers {
ip_hash; #表示同一个ip固定访问桶一台服务器 server localhost:8081; max_fails=3 fail_timeout=20s fail_time=100s; #20秒内有3次请求失败则认为服务器挂机,停止访问100秒 server localhost:8082 weight=2; #默认权重为1,2代表访问该服务器的几率是其他服务器的2倍 server localhost:8082; backup #表示该服务器为备用服务器 }
4、least_conn:
upstream myservers { least_conn; #表示把请求分配给当前访问线程最少的服务器 server localhost:8081; max_fails=3 fail_timeout=20s fail_time=100s; #20秒内有3次请求失败则认为服务器挂机,停止访问100秒 server localhost:8082 weight=2; #默认权重为1,2代表访问该服务器的几率是其他服务器的2倍 server localhost:8082; backup #表示该服务器为备用服务器 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)