Rails + (Phusion Passenger|Puma|Unicorn|Thin) + (Nginx|Apache) 如何协同工作?

Posted

技术标签:

【中文标题】Rails + (Phusion Passenger|Puma|Unicorn|Thin) + (Nginx|Apache) 如何协同工作?【英文标题】:How does Rails + (Phusion Passenger|Puma|Unicorn|Thin) + (Nginx|Apache) work together? 【发布时间】:2015-03-05 19:24:30 【问题描述】:

当一个http请求发出时,上面提到的3个不同组的作用是什么?在最终调用应用程序代码之前,他们每个人都做了什么?

【问题讨论】:

【参考方案1】:

在高层,三者扮演以下角色:

导轨

应用程序。包含业务逻辑 - 用户管理、买卖交易、显示/更新/删除/创建信息等。

乘客

应用服务器。相当于在本地运行rails server 的服务器。

阿帕奇

Web/HTTP 服务器。拦截并响应来自客户端(浏览器)的请求。

请参阅https://***.com/a/4113570/429758,了解有关此主题的深入讨论。

【讨论】:

以上是关于Rails + (Phusion Passenger|Puma|Unicorn|Thin) + (Nginx|Apache) 如何协同工作?的主要内容,如果未能解决你的问题,请参考以下文章

Phusion 乘客(适合傻瓜!)

phusion 乘客没有看到环境变量?

安装 Phusion 乘客时出错“在 [] (Gem::LoadError) 中找不到乘客 (>= 0)”

如何为passenger_response_buffer_high_watermark 设置Phusion 乘客选项?

乘客中的重复事件,在 websocket-rails 中

Rails 3 - application.html.erb 中 nil:NilClass 的未定义方法“[]”