所谓负载均衡,也就是把某一资源放到多个服务器上,当我们访问的时候,nginx会平均转发到不同的服务器上,我们以两台服务器为例,一台是8080,一台是8081,里面都有一个hzy目录,该目录下都有一个a.html资源,下面我们进行演示,首先准备两个服务器,分别是8080,8081,并且在webapps里创建hzy文件夹,里面写一个a.html文件,当这些完成之后,我们需要对nginx进行配置
在http块下添加一个upstream,并给这个upstream取个名字,这里我取myserver
upstream是数据转发块,这里配置了连个目标服务器,分别是8080服务器和8081服务器
然后在server里面配置
意思是,当有请求的时候,会通过myserver这个数据转发块进行负载均衡的转发
然后重新加载配置文件./nginx -s reload
可以看出,同一个请求,其请求的服务器并不是同一个,而是平均分配给了不同的服务器,其分配的策略是轮询
轮询,是默认的分配策略,会按照请求的时间顺序,分配到不同的服务器中,如果有宕机的服务器,会自动剔除。
weight,是权重的意思,默认是1,我们也可以对其进行配置,nginx会根据不同权重的服务器分配请求,如图就是8080权重大,分配的请求多
ip_hash,意思是如果某个ip地址第一次访问是8080,那么以后都访问8080,如果第一次访问是8081,那么以后都是访问8081
fair,按照后端服务器响应时间分配,响应时间短的,先分配