Nginx读写分离

场景还原:

需求分析,前端一台nginx做负载均衡反向代理,后面两台httpd服务器。整个架构是提供BBS(论坛)服务,有一需求得实现读写分离,就是上传附件的功能,我们上传的附件只能上传到Web1,然后在Web1上利用rsync+inotify实现附件同步,大家都知道rsync+inotify只能是主向从同步,不能双向同步。所以Web1可进行写操作,而Web2只能进行读操作,这就带来读写分离的需求,下面我们就来说一下,读写分离怎么实现。

**原理:**根据发送的请求类型,进行相应的动态分发

    if ($request_method = "PUT"){}

实现步骤

配置nginx.conf文件

location / {
	if ($request_method = "PUT"){
		proxy_pass http://172.16.1.251:8099;
	}
		proxy_pass http://localhost:8080;
	
}

  1. 重启服务
    nginx -s reload
    

在这里插入图片描述

  1. 发送请求查看效果

    我这里只有一台服务器,proxy_pass http://172.16.1.251:8099;这个地址是错的,指向不到任何地方,这里就拿来测试

    正常情况:

在这里插入图片描述

在这里插入图片描述

错误情况:

1539682871575在这里插入图片描述

在这里插入图片描述

至此:所谓读取操作全部在服务A进行,写操作全部在服务B进行,以达到读写分离的效果.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值