upstream 负载均衡的分发方式:
1、轮询,默认采取此方式,Nginx会按照请求时间的先后顺序进行轮询分发,若某台Web Server宕机,Nginx自动将其摘掉。
2、weight,权重,即轮询的几率,值越大,被分发的可能性越大,用于后端服务器性能不均的情况。
3、ip_hash,每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决共享session的问题。
4、自定义规则
举例1:
upstream myphp.com { server 192.168.1.16:80 down; server 192.168.1.18:80 weight=2; server 192.168.1.13:80; server 192.168.1.12:80 backup; }
举例2:
upstream backserver { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; }
配置详解:
down 表示当前的Web Server暂时不参与负载
weight 默认为1,weight越大,负载的权重就越大。
backup 其它所有的非backup Server down或者忙的时候,请求backup机器。所以这台机器压力会最轻。