Nginx负载均衡
1:作用
按照一定的算法,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。
2:种类
- 轮询:最基本的配置方法,是upstream默认的策略。按请求时间平均分配不同的服务器
- 权重:给服务器设置一个值,值越大,访问这个服务器的几率越高
- ip_hash:根据IP进行分配,此方法确保了相同服务器请求一致发送到相同的服务器,以保证session会话,可以解决session不能跨域的问题
- least_conn:这个是将请求发送给连接数最少的服务器
- fair:根据响应时间的长短进行分配,响应时间短的优先分配
3:使用方式
-
轮询
upstream [服务器组名称]{ server [IP地址]:[端口号]; server [IP地址]:[端口号]; .... }
-
权重(weight)
upstream [服务器组名称]{ server [IP地址]:[端口号] weight=2; server [IP地址]:[端口号] weight=1; .... }
-
ip_hash
upstream [服务器组名称]{ ip_hash; server [IP地址]:[端口号]; server [IP地址]:[端口号]; .... }
-
least_conn
upstream [服务器组名称]{ least_conn; server [IP地址]:[端口号]; server [IP地址]:[端口号]; .... }
-
fair
upstream [服务器组名称]{ server [IP地址]:[端口号]; server [IP地址]:[端口号]; .... fair; }
后面三个都可以与权重一起使用,并且fair需要安装第三方插件
4:测试
以权重为例
以下操作都在http块下进行
-
配置一个服务器组
-
配置一个server
-
访问weight01.com(server_name就是服务器访问路径,可以进行修改)
权重就完成了