为什么你需要带乘客的nginx用于RoR?

时间:2015-09-26 19:46:10

标签: ruby-on-rails nginx passenger

我知道nginx是一个Web服务器,而passenger是一个app服务器。我们可以运行

passenger start

启动我们的rails应用程序,一切似乎都运行良好。但是有很多关于将nginx设置为反向代理的帖子。

如果这方面的专家分解每个组件,并解释为什么需要nginx和乘客以及每个组件的作用,将会有所帮助。

思考问题:
- 围绕nginx包裹乘客的主要目的是什么,而不是单独运行乘客? - 单独运行乘客是不是很糟糕?
- 运行“乘客启动”是否启动了自己的nginx服务器?

2 个答案:

答案 0 :(得分:5)

您的所有问题都在官方的乘客文档中得到解答。

答案 1 :(得分:0)

我不是网络服务器的专家,尽管我总是使用Passenger在Apache / Nginx之后部署我的Rails应用程序。

让我列举一下这种方法的几个优点(可能有更多的选择和理由):

  1. Passenger是一个独立的服务器。这意味着,它被设计为在一台机器上运行。您无法以Apache / Nginx的方式平衡两个乘客服务器的工作。
  2. 您只能使用Passenger在给定计算机上运行单个应用程序。
  3. 静态资产管理可以通过Nginx完成,而不会遇到乘客。
  4. 攻击者很容易通过发送太多请求来使您的网站无响应。 Nginx / Apache使您能够阻止某些IP