加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

ruby-on-rails – 用Nginx解释负载平衡,就像我五岁一样

发布时间:2020-09-19 13:30:10 所属栏目:Nginx 来源:互联网
导读:我发现了很多关于如何使用上游服务器将Nginx配置为负载均衡器的DIY帖子和教程:upstream backend { ip_hash; server 1.2.3.4; server 1.2.3.5; server 1.2.3.6; } server { location / { proxy_pass http://back

我发现了很多关于如何使用上游服务器将Nginx配置为负载均衡器的DIY帖子和教程:

upstream backend  {
  ip_hash;
  server 1.2.3.4;
  server 1.2.3.5;
  server 1.2.3.6;
}

server {
  location / {
    proxy_pass  http://backend;
  }
}

但就配置这种架构而言,这是我能找到的程度.目前我有一个部署到3个后端VPS服务器的rails应用程序,我正在使用Unicorn作为我的HTTP服务器.我是否需要在我的负载平衡服务器上安装我的ruby以及我的rails应用程序和独角兽?我是否需要在每个上游服务器上安装Nginx?如果是这样,我该如何配置它们?如果我在建筑中引入类似Varnish的东西,它会去哪里?在负载平衡器或每个后端之前?

这是我如何组织一切的视觉效果:

                                       +---> backend1 <---+
                                       |                  |
[requests] <---> [Nginx load-balancer]-+---> backend2 <---+-[Database server]
                                       |                  |
                                       +---> backend3 <---+
最佳答案 简短回答:

Nginx实际上只有一个工作,那个工作是接受传入的请求并将其交给后端服务器.

鉴于此,您的前端服务器只需要运行nginx,而您的后端服务器只需要运行rails.合理?

现在,如果您的后端和前端都在同一台服务器上运行,那么,当然,它也必须安装在那里,但是从图中我不相信是这种情况.

如果您引入了一个HTTP缓存软件,例如Varnish,它将介于Nginx和Rails之间,很可能也会在后端服务器上运行.因此请求将遵循以下路径:

Nqinx -> Varnish -> Rails

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读