首页 文章

mod_rails或Phusion Passenger最终是Ruby on Rails部署的答案吗?

提问于
浏览
13

我从一些书中读到,Phusion Passenger是轻松实现Ruby on Rails部署的答案 . 但我的朋友说,首先是Apache群的Mongrels,然后是lighttpd,然后是nginx,现在是Passenger,似乎无穷无尽......

他还说他使用了使用Passenger的dreamhost,有时他看到他的请求没有被处理 .

所以我想知道Passenger是否是RoR部署的最终答案?你使用它并使用“ab”命令来测试网站是否做得很好?

7 回答

  • 3

    简短回答:是的 .

    答案很长:yeeeeeeeeeeeeeeesssssssssssssssss .

    严肃地说,Phusion Passenger和Ruby Enterprise Edition已经完全消除了将Rails应用程序投入 生产环境 的所有痛苦 . 以前的方法,包括运行一套Mongrels,需要大量的设置,包括启动,停止和回收Passenger透明处理的侦听器进程,或者通过简单的Apache(或nginx)配置选项 . 而REE的补充垃圾收集器意味着分离一个新的监听器使用更少的内存,并且启动速度更快(在Passenger的“智能”产生模式中) .

    编辑:@srboisvert非常好;乘客不是RoR部署的最终答案,但到目前为止,它是我最喜欢的 . 有一天,在解决了许多硬工程问题后,主流Ruby可能会从使用多进程模型托管RoR转变为单进程模型,这将使管理比使用Passenger更容易 .

  • 1

    到目前为止,它是最好的解决方案 . 我开始使用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

  • 20

    是的,它是最简单,最快速,最有效的解决方案 . 在最近的版本中解决了像soap4r等宝石的很多问题之后,Passenger现在是部署问题的答案 .

    我们在 balancer 环境中运行Apache / mod_rails,在2台服务器前面使用HAProxy . 它比我们之前使用Mongrel / Aapache的设置更可靠 .

    控制很容易

    • 在Apache中运行的Passenger进程数量

    • 每个应用程序运行的Passenger进程数量

    • 以及所有这些都没有调整像mod_proxy,Apache这样的配置文件 .

    • 设置虚拟主机并在Apache配置中添加3行基本上足以让它运行

    马特

  • 1

    最终答案?没有什么是最终的答案 .

    我说Passenger是目前的答案 .

  • 2

    是 . 我已经在Apache面前运行Nginx / Passenger,因为他们几周前发布了2.2.0,因此仍需要PHP . 特别是使用Ruby Enterprise Edition,它接近我称之为“完美”的东西 .

  • 3

    我想现在人们会坚持使用mod_rails多年 . 该模块非常好 . 配置很简单 . 用一些更好的解决方案来取代它将很难 . 与mod_php相似 . 唯一缺少的关键组件:Windows端口 .

  • 4

    在某些情况下(企业等)JVM也可以是好的选项 .

相关问题