# 需要使用负载的域名的配置中添加 `upstream` 配置
# ip_hash 每个请求按照ip 的 hash 结果分配, 这样同一ip的请求会分配到同一个后端服务器, 可解决 session 问题.
upstream api {
ip_hash;
server 192.168.43.129;
server 192.168.43.135;
}
#
同时 server
节点下的 location
节点中的 proxy_pass
配置为 http:// + upstream 名称
,即 http://api
.
location / {
proxy_pass http://api;
proxy_set_header Host $host;
}
# 默认是轮询模式, 按时间顺序逐一分配到不同的后端服务器
# 如果后端服务器down掉,能自动剔除。虽然这种方式简便、成本低廉
# 可靠性低和负载分配不均衡。适用于图片服务器集群和纯静态页面服务器集群
upstream api {
ip_hash;
server 192.168.43.129;
server 192.168.43.135;
}
# 按照指定的权重, 分配请求. 只要用于服务器性能有明显差异的情况~ 比如 135 的性能是129 的3倍, 那就多分配请求给 135
upstream api {
server 192.168.43.129 weight=5;
server 192.168.43.135 weight=15;
}
# fair 按服务器响应时间分配请求.
upstream api{
server 192.168.43.129;
server 192.168.43.135;;
fair;
}
# url_hash 按照 url hash结果来分配请求
upstream api{
server 192.168.43.129;
server 192.168.43.135;
hash $request_uri;
hash_method crc32;
}
upstream api{
server 192.168.43.129 down; # down 表示当前服务器暂时不参与负载
server 192.168.43.135 weight=1; # weight 值越大表示负载权重越大.
server 192.168.43.136 backup; # backup 其它所有非backup 机器down 或者忙碌时,请求 backup 机器.
# max_fails 允许请求失败次数, 返回 proxy_next_upstream 模块定义的错误
# fail_timeout 在 max_fails 次失败后, 暂停的时间.
server 192.168.43.136 max_fails=1 fail_timeout=30s;
}
本文为Larwas原创文章,转载无需和我联系,但请注明来自larwas博客 https://larwas.com
最新评论