Phusion Passenger,又名 mod_rails 最近风光无限,也是理所应当的。它使得 Rails 部署变得更加简单,并且与 REE 结合使用可以更快、占用更少的内存开销。因此,我非常高兴看到 Rails 世界中有许多托管公司采用它并将其提供给他们的客户。
Rails Machine 最近宣布 Passenger 现已成为其标准堆栈的一部分,并且他们让从基于 Mongrel 的设置切换至 Passenger 变 得非常轻松。Joyent 最新的 Accelerator 也预先配置了 Passenger。在共享托管方面, Dreamhost 已经支持 Passenger 一段时间了(在 Dreamhost 使用 Passenger 的精彩教程)。
我个人一直在 Slicehost 中使用 Ubuntu 设置 Passenger,并且取得了非常好的效果。在 37signals, 我们已经使用 Passenger 运行 Ta-da List(在 EC2 上)和 Backpack(在 Rackspace 上),并且计划很快将剩余的应用程序迁移过来。我们的系统管理员当然很高兴不必再使用 Mongrel 了。
许多其他主机托管商也在对 Passenger 进行高级测试。Brightbox 一直 为 Passenger 构建 Ubuntu 软件包,并且正在为 REE 构建一个软件包。他们不久后应该会提供完整的 Passenger 支持。我交谈过的大多数其他 Rails 主机托管商至少也在研究它。
但仅仅因为 Passenger 是 Rails 托管迈出的一大步,并不意味着其他方法突然间就变得无用了。可能仍然存在需要使用传统代理/Mongrel 设置的情况。例如,如果您出于某种原因无法使用 Apache,那仍然是可行的办法。Rails 将继续同时支持 FCGI、代理/Mongrel、任何 Rack 网站服务器以及当然还有 Passenger。
改变之处在于,如果您还没有投资于备用解决方案或者您对该解决方案感到痛苦,那么您绝对应该考虑将 Passenger 作为 Rails 的默认选择。
更新: Phusion 已发布 一份指南,说明如何控制 Passenger 中的 Rails 和 Ruby 环境变量。这对于调整 GC 设置等非常有用。