讨论:建立 Rails 部署环境的行业标准

  • Jeff Xiong

2007 年 5 月 28 日

话题:RubyRuby on RailsLinuxDevOps语言 & 开发

Rails 应用的部署一向被认为是“只能 DIY”的事情,并且服务器的配置与性能调优也被很多不熟悉 Linux 系统管理的 Rails 开发者视为一大难题。不过目前看来,这一难题很快就会得到彻底解决了。Ruby on Rails的创始人 David Heinemeier Hasson 在"Ruby on Rails: Stacks"用户组发起了一个讨论,计划推出一组 Ruby on Rails 应用程序部署环境的行业标准。

DHH 的目标是推出一个基于虚拟机的 Rails 应用部署环境。他这样说道:



Xen、EC2、Vmware 和其他一些虚拟机技术完全颠覆了系统管理的传统思维。在今年的RailsConf 大会上我们已经看到了Rails MachineEngine Yard和 Amazon 在这方面取得的成就。无疑这将是未来的趋势。因此我认为现在是时候考虑推出一个方便的 Rails 部署标准环境了:它大概是一个完整的操作系统镜像,其中包括 web 服务器、应用服务器和数据库服务器,并且配置好了nginxMongrel和 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 生产部署的讨论。

RubyRuby on RailsLinuxDevOps语言 & 开发