Nginx 负载均衡
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
2)、weight
指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
upstream up_name {
server 192.168.0.1:9000 weight=5; #权重
server 192.168.0.2:9000 weight=5 max_fails=5 fail_timeout=60s; # 在 60s 内,其错误通信超过5次,认为该服务失效
server 192.168.0.3:9000 down; # 服务标记为离线,不再使用
server 192.168.0.4:9000 backup; # 备份服务器,其他全部宕机了才启用
ip_hash; // 将相同请求ip分配给同一服务器, 不是最前端拿不到真实客户端ip(默认没有编译Real IP模块)
}
在 server 中添加配置
proxy_pass http://up_name; // 监听 80 端口,然后转发