工作总结:Nginx实现热备

工作上的的一个springmvc项目,目前需要做一个热备。
热备:就是服务器高可用应用的另一种说法,从狭义上讲,双机热备特指基于高可用系统中的两台服务器的热备.
我们这里说的热备,其实是做一个负载均衡。
目前的策略是用nginx来实现负载均衡。

原料准备

nginx, 两个linux服务器(服务器上分别放置一份项目代码并启动)

需求分析

1.需要做到请求分发,也就是负载均衡,nginx的策略有轮训,权重,以及ip_hash(ip分配),least_conn(最少连接优先).
nginx不能做到的策略有fair(时长优先)和url_hash(根据url分配连接)。
2. 因为项目里有token,所以选择了ip_hash策略。同时因为nginx转发请求会不转发带有“_“的报头header,所以需要在配置文件里加上针对的配置。

实施步骤:

step1. 选定一个服务器,安装nginx。具体的安装步骤,这里不写了。具体的过程可以参考
https://www.cnblogs.com/xxoome/p/5866475.html
如果安装或者启动nginx发现报错error没有log file之类的问题。可以自己新建个文件夹,但不要新建log文件。然后nginx就可以启动了 。

step2

. 修改nginx配置文件nginx.conf
修改后要重启nginx服务。 命令如下: ./nginx -s reload

nginx监听10.xx.xx.33的***8090*** 端口,所有这个路径的/valueAdd请求都会被nginx监听并根据ip_hash策略进行转发。要么转发到33:8080要么就是34:8080。
配置了***backendIP***来查看转发的请求到了哪个服务器
在这里插入图片描述


step3

联机测试。测试nginx负载均衡、ip_hash策略 和 nginx.conf有关header配置是否生效。

可以看到请求是8090/valueAdd打头,这样请求就会到nginx里。根据backendIP 看到这个请求被分发到33:8080端口了。
在这里插入图片描述
这个请求会生成一个access_token。
在这里插入图片描述
因为access_token是里面有下划线,正常来说nginx会不转发这个报头header的。不过我们配置了

#处理nginx转发请求时,head里token
	underscores_in_headers on;

所以nginx会把access_token一起带上的。

在这里插入图片描述
可以看到bankendIP 也是33.8080.所以ip_hash策略也是成功的。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值