Rails 应用的部署一向被认为是“只能 DIY”的事情,并且服务器的配置与性能调优也被很多不熟悉 Linux 系统管理的 Rails 开发者视为一大难题。不过目前看来,这一难题很快就会得到彻底解决了。 Ruby on Rails 的创始人 David Heinemeier Hasson 在" Ruby on Rails: Stacks "用户组发起了一个讨论,计划推出一组Ruby on Rails 应用程序部署环境的行业标准。
DHH 的目标是推出一个基于虚拟机的 Rails 应用部署环境。他这样说道:
Xen、EC2、Vmware 和其他一些虚拟机技术完全颠覆了系统管理的传统思维。在今年的 RailsConf 大会上我们已经看到了 Rails Machine 、 Engine Yard 和 Amazon 在这方面取得的成就。无疑这将是未来的趋势。因此我认为现在是时候考虑推出一个方便的 Rails 部署标准环境了:它大概是一个完整的操作系统镜像,其中包括 web 服务器、应用服务器和数据库服务器,并且配置好了 nginx 、 Mongrel 和 MySQL 等软件,因此立即就可以投入使用。
由 ThoughtWorks 开发的 RubyWorks 以 Redhat/CentOS 为基础,提供了一组 RPM 形式的安装包,可以立即搭建出可用的高性能 Rails 部署环境。在此基础上创建一个虚拟机镜像也是相对容易的。RubyWorks 的主要问题在于:Redhat Enterprise Linux 价格不菲,而 CentOS 平台上各种软件的更新步伐都相对较慢。RubyWorks 也有在不久的将来支持 Debian 平台的计划。另一个开源的 Rails 部署环境解决方案是 deprec 。deprec 以 Capistrano recipe 的形式出现,用户只要运行这组 recipe 就可以在服务器端搭建起所需的 Rails 部署环境。其他的 Rails 部署环境都尚未开源,因此也无从获得更多的信息,但可以肯定的是,它们都是集服务监管、负载均衡等能力于一身的“一站式”部署环境。
目前相关讨论仍然在进行。" Ruby on Rails: Stacks "用户组是 DHH 发起的一个讨论组,其主题就是 Rails 生产部署环境。此外在“ Deploying Rails ”用户组也有大量关于 Rails 生产部署的讨论。
评论