首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx upstream 负载均衡 原

Nginx upstream 负载均衡 原

作者头像
拓荒者
发布2019-03-11 11:55:53
8200
发布2019-03-11 11:55:53
举报

   上周五同事跟我提一个需求,大概描述是酱紫:“我们现在终端都在访问同一台服务器,如果流量过大造成服务器down掉,做一个转发到其他服务器正常使用…”.我想了想应了下来,决定下周开始研究下,周末和朋友吃饭的时候聊了聊,一个朋友和我说现在很多框架都自带分布式例如tp啊,我理解分布式架构是一个大型项目分布多个模块,放在不同逻辑服务器上(若有不准确望能指正)和我现在想完成的需求不太一样,后来想在nginx在做些处理。前文交代完毕,下面进入正题把这两天的理解写下来。

如图,我想做一个nginx负载均衡,一台前端服务器做流量转发,两台逻辑服务器也就是后端服务器处理请去。使用nginx upstream 做轮番请求,如果server 1 或 server 2 其中一台down掉,会被剔除能保证终端用户正常使用。

当然upstream 也支持权重分配,根据服务器的配置 分配不同比例,可以起到负载均衡效果。

这个官网给的实例,要做http 中定义 upstream 模块,模块后跟的名字(myproject)要和server 模块中 location / 一致。 server 127.0.0.1:8000 weight = 3; 中 ‘weight’是上文提到的 ‘权重’值,值越高服务的频率会越高。若server 189.1.22.1:8000 down; 表示该服务器不参与负载,backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。

本地环境 centos

配置nginx.conf

server中:

我在本地服务器经过测试,分别在 186 与 195 写了不同的php界面,从189访问基本成功。

后来我给同事展示了一下,他微笑的看着我问道:“这个不同服务器怎么解决session共享的问题”,我想了想是啊,可以试试 ip_hash这样的方式,详细可以参考这篇文章:http://www.360doc.com/content/13/0725/12/5054188_302368351.shtml

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/07/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档