Ruby on rails 为什么ruby rails需要puma或unicorn?

Ruby on rails 为什么ruby rails需要puma或unicorn?,ruby-on-rails,ruby,nginx,unicorn,puma,Ruby On Rails,Ruby,Nginx,Unicorn,Puma,在php中,您只需要apache或nginx。既然已经安装了nginx,为什么ruby-rails还需要puma或unicorn之类的东西呢?这并不完全正确,要在apache上运行PHP,您需要apache或将其作为一个组件运行。对于Nginx来说,是后者 对于Ruby,有一个可以填补这个角色的插件,它支持apache和nginx。在apache上,它作为插件模块运行,就像mod_php那样。对于Nginx,我不确定 但是,您可能希望使用专用的应用服务器运行ruby应用程序。这就是独角兽、美洲狮

在php中,您只需要apache或nginx。既然已经安装了nginx,为什么ruby-rails还需要puma或unicorn之类的东西呢?

这并不完全正确,要在apache上运行PHP,您需要apache或将其作为一个组件运行。对于Nginx来说,是后者

对于Ruby,有一个可以填补这个角色的插件,它支持apache和nginx。在apache上,它作为插件模块运行,就像mod_php那样。对于Nginx,我不确定

但是,您可能希望使用专用的应用服务器运行ruby应用程序。这就是独角兽、美洲狮等的由来。没有什么可以阻止您为php进行类似的设置,但这并不常见

在许多情况下,另一件使php更易于部署的事情是,大多数发行版和服务器安装都附带了apache和nginx,它们已经设置为处理php,而您需要为ruby自行设置


一旦设置好,Passenger将使部署ruby应用程序几乎(但不是完全)与部署php应用程序一样简单。

既然您使用过php后端,我想您熟悉modphp或fcgi模块。它们是编译和运行php代码的实际引擎。 RubyonRails不能像php那样独立运行。因此,需要像彪马或普西翁乘客这样的东西来运行它。它们被称为应用服务器。
您可以使用ApplicationServer直接为网站提供服务,但这是推荐的方法。有更多合适的替代方案,如nginx,它们正是为了这个目的而发展起来的。

您可以在nginx proxy后面使用unicorn。它可以帮助您处理许多请求