我从一些书中读到,Phusion Passenger是轻松实现Ruby on Rails部署的答案 . 但我的朋友说,首先是Apache群的Mongrels,然后是lighttpd,然后是nginx,现在是Passenger,似乎无穷无尽......
他还说他使用了使用Passenger的dreamhost,有时他看到他的请求没有被处理 .
所以我想知道Passenger是否是RoR部署的最终答案?你使用它并使用“ab”命令来测试网站是否做得很好?
简短回答:是的 .
答案很长:yeeeeeeeeeeeeeeesssssssssssssssss .
严肃地说,Phusion Passenger和Ruby Enterprise Edition已经完全消除了将Rails应用程序投入 生产环境 的所有痛苦 . 以前的方法,包括运行一套Mongrels,需要大量的设置,包括启动,停止和回收Passenger透明处理的侦听器进程,或者通过简单的Apache(或nginx)配置选项 . 而REE的补充垃圾收集器意味着分离一个新的监听器使用更少的内存,并且启动速度更快(在Passenger的“智能”产生模式中) .
编辑:@srboisvert非常好;乘客不是RoR部署的最终答案,但到目前为止,它是我最喜欢的 . 有一天,在解决了许多硬工程问题后,主流Ruby可能会从使用多进程模型托管RoR转变为单进程模型,这将使管理比使用Passenger更容易 .
到目前为止,它是最好的解决方案 . 我开始使用FCGI进行部署,这很痛苦 . 然后来了杂种,它更好 . 然后来了mod_rails,它更好了 .
还有很多很酷的应用程序正在迁移到mod_rails,包括一些37signals,所以你知道这很好 .
我将结束DHH的一句话:
Phusion Passenger的一体化解决方案一旦完成了非常简单的安装,您将获得一个充当Web服务器,负载均衡器,应用服务器和进程观察器的Apache . 你只需要放入你的应用程序并触摸tmp / restart.txt,当你想要弹回它时,你就可以启动并运行了 . 但不知何故,乘客的信息有点缓慢 . 已经有很多大型网站在运行 . 包括Shopify,MTV,Geni,Yammer,我们将很快在第一个Ta-da List上移动,然后希望37signals的其余部分很快就会出现 . 因此,虽然仍有理由运行您自己的手动配置件的自定义多层设置,就像有人回避mod_php的详细信息,我想我们最终确定了默认答案 . 不需要您真正考虑Rails应用程序的第一次部署的东西 . 开箱即用的东西 . 即使那个盒子是共享主机!总之,Rails不再难以部署 . Phusion Passenger让它变得荒谬可笑 .
(via)
是的,它是最简单,最快速,最有效的解决方案 . 在最近的版本中解决了像soap4r等宝石的很多问题之后,Passenger现在是部署问题的答案 .
我们在 balancer 环境中运行Apache / mod_rails,在2台服务器前面使用HAProxy . 它比我们之前使用Mongrel / Aapache的设置更可靠 .
控制很容易
在Apache中运行的Passenger进程数量
每个应用程序运行的Passenger进程数量
以及所有这些都没有调整像mod_proxy,Apache这样的配置文件 .
设置虚拟主机并在Apache配置中添加3行基本上足以让它运行
马特
最终答案?没有什么是最终的答案 .
我说Passenger是目前的答案 .
是 . 我已经在Apache面前运行Nginx / Passenger,因为他们几周前发布了2.2.0,因此仍需要PHP . 特别是使用Ruby Enterprise Edition,它接近我称之为“完美”的东西 .
我想现在人们会坚持使用mod_rails多年 . 该模块非常好 . 配置很简单 . 用一些更好的解决方案来取代它将很难 . 与mod_php相似 . 唯一缺少的关键组件:Windows端口 .
在某些情况下(企业等)JVM也可以是好的选项 .
7 回答
简短回答:是的 .
答案很长:yeeeeeeeeeeeeeeesssssssssssssssss .
严肃地说,Phusion Passenger和Ruby Enterprise Edition已经完全消除了将Rails应用程序投入 生产环境 的所有痛苦 . 以前的方法,包括运行一套Mongrels,需要大量的设置,包括启动,停止和回收Passenger透明处理的侦听器进程,或者通过简单的Apache(或nginx)配置选项 . 而REE的补充垃圾收集器意味着分离一个新的监听器使用更少的内存,并且启动速度更快(在Passenger的“智能”产生模式中) .
编辑:@srboisvert非常好;乘客不是RoR部署的最终答案,但到目前为止,它是我最喜欢的 . 有一天,在解决了许多硬工程问题后,主流Ruby可能会从使用多进程模型托管RoR转变为单进程模型,这将使管理比使用Passenger更容易 .
到目前为止,它是最好的解决方案 . 我开始使用FCGI进行部署,这很痛苦 . 然后来了杂种,它更好 . 然后来了mod_rails,它更好了 .
还有很多很酷的应用程序正在迁移到mod_rails,包括一些37signals,所以你知道这很好 .
我将结束DHH的一句话:
(via)
是的,它是最简单,最快速,最有效的解决方案 . 在最近的版本中解决了像soap4r等宝石的很多问题之后,Passenger现在是部署问题的答案 .
我们在 balancer 环境中运行Apache / mod_rails,在2台服务器前面使用HAProxy . 它比我们之前使用Mongrel / Aapache的设置更可靠 .
控制很容易
在Apache中运行的Passenger进程数量
每个应用程序运行的Passenger进程数量
以及所有这些都没有调整像mod_proxy,Apache这样的配置文件 .
设置虚拟主机并在Apache配置中添加3行基本上足以让它运行
马特
最终答案?没有什么是最终的答案 .
我说Passenger是目前的答案 .
是 . 我已经在Apache面前运行Nginx / Passenger,因为他们几周前发布了2.2.0,因此仍需要PHP . 特别是使用Ruby Enterprise Edition,它接近我称之为“完美”的东西 .
我想现在人们会坚持使用mod_rails多年 . 该模块非常好 . 配置很简单 . 用一些更好的解决方案来取代它将很难 . 与mod_php相似 . 唯一缺少的关键组件:Windows端口 .
在某些情况下(企业等)JVM也可以是好的选项 .