为什么你需要nginx与乘客RoR?

我知道nginx是一个Web服务器,乘客是一个应用服务器。 我们可以跑

passenger start 

启动我们的Rails应用程序,一切似乎都正常工作。 但是有很多关于将nginx设置为反向代理的文章。

如果一个专家在这里分解了每个组件,并且解释为什么需要nginx和乘客在一起,以及每个组件的作用,这将是有帮助的。

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

您的所有问题都在正式的Passenger文档中得到解答。

  • 为什么需要乘客,以及它如何与Nginx相关联,以及乘客如何适应相对于其余的栈: 基本概念
  • Nginx的Passenger Standalone与Passenger有何不同: 集成模式
  • 单独运行乘客是不是很糟糕? 否,如积分模式中所述
  • 运行“乘客启动”启动自己的nginx服务器? 是的,默认情况下。 Passenger Standalone也有一个“内置”引擎,不启动Nginx服务器,以进行特殊配置: https : //www.phusionpassenger.com/library/config/nginx/optimization/#switching-to-passenger-standalone-with -the-内置-HTTP引擎

我不是Web服务器的专家,虽然我总是用Apache / Nginx的Passenger部署我的Rails应用程序。

让我列出这种方法的几个优点(可能有更多的选择和做这件事的理由):

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