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