在有些情况下,服务器访问量过大,单一服务器无法承受,这时候就用到了nginx负载均衡的特性
负载均衡其实也是一种反向代理
在http中定义一组upstream,然后在proxy_pass中使用定义好得upsteam,然后nginx在访问得时候,就会将请求发送到服务器中
这样配置之后,对于访问到nginx的请求会平均的分配到upstream中的IP组,如果想指定一下IP的分配权重,只需要在每个IP后面加上weight参数即可
设置之后,分配0.2的数量是0.1和0.3的两倍,0.1和0.3的分配数量相同
这样配置之后,对于同一个IP的访问来说,请求的到upstream的每个IP都是随机的,可以第一次是第一个IP,到第二次请求就会变成第二个IP,这样就会导致登录状态丢失等问题
解决这个问题也很简单,只需要在upstream中加入nginx中自带的ip_hash算法,就可以保证用一个IP访问时,请求到的总是upstream中的同一IP