经过前面几章的介绍(nginx是什么用、nginx搭建、nginx目录初识、nginx配置文件初识),现在进入正题 ,结合springboot项目,来演示如何通过相关参数,实现具体的功能
二、使用步骤- 将一个springboot项目,部署到两台服务器上(10.9.5.136、10.9.5.114)
- 在nginx.conf添加配置
# 在http节点下,添加upstream节点
upstream springboot{
server 10.9.5.114:6200;
server 10.9.5.136:6200;
}
#将server节点下的location节点中的proxy_pass配置为:http:// + upstream名称,即“
http://springboot”
location / {
root html;
index index.html index.htm;
proxy_pass http://springboot;
}
#保存并退出,然后重载nginx
nginx -s reload
- 浏览器访问 ip:port/自己创建接口
- 不配置,为轮询的方式,ABABABA;适用场景:服务器配置均衡情况下
- 配置权重(1:5的权重,最终结果差不多接近1:5的请求权重);适用场景:服务器配置差异有点大,让请求更加合理
upstream springboot{
server 10.9.5.114:6200 weight=1;
server 10.9.5.136:6200 weight=5;
}
- ip_hash:每个请求都会按照访问的ip的hash进行结果分配,这样每次请求都会固定访问一个后端服务,可以解决session不能共享的问题,但是如果服务挂掉,请求会有问题。适用场景:多服务会话不共享的临时解决方案
upstream springboot{
ip_hash;
server 10.9.5.114:6200;
server 10.9.5.136:6200;
}
- fair(第三方插件)按后端服务器的响应时间来分配请求,响应时间短的优先分配。适用场景:动态的知道服务端的能力
upstream springboot{
server 10.9.5.114:6200;
server 10.9.5.136:6200;
fair;
}
2、upstream 其他状态
- down:表示单前的server暂时不参与负载
- weight:权重,默认为1, weight越大,负载的权重就越大。
- max_fails:允许请求失败的次数默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
- fail_timeout:默认值10秒,如果上面值为3,这个值为10,就说明如果10秒内,到达这个请求3次都失败,之后就不再访问这个upstream(建议不动这2个参数)
- backup:备用服务器, 其它所有的非backup机器down或者忙的时候,请求backup机器,所以这台机器压力会最轻。
这边将多节点的服务配置到nginx,并且详细说明了几种upstream的使用方式,之后的章节再来说明http等其他节点的使用方式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)