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

ruby-on-rails – 用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

本文来自网络,不代表云浮站长网立场。转载请注明出处: https://www.0766zz.com/html/yunying/nginx/20200905/9847.html
上一篇
下一篇

作者: dawei

【声明】:云浮站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部