写点什么

企业级 Rails 部署环境 RubyWorks 发布

  • 2007-05-17
  • 本文字数:1019 字

    阅读完需:约 3 分钟

在 RailsConf 2007 开幕前夕, ThoughtWorks Studios 发布了 RubyWorks 0.0.1 版本。在其网站上这样介绍这个开源项目:

RubyWorks 是一个 Rails 生产部署环境,它由一组开源软件共同组成,提供了在 RedHat 企业版 Linux 或者 CentOS 服务器上部署 Ruby on Rails 应用程序所需的软件和配置支持。 只要将服务器的包管理器(up2date 或者 yum)指向 RubyWorks 发行库,再安装 RubyWorks 提供的软件包,就可以立即获得已经预先配置好的 Rails 部署环境。到目前为止,这是最接近于“一步到位”的 Rails 生产部署环境。

Rails 应用在生产部署环境下的各方面能力(性能、伸缩性、可靠性、可管理性,等等)一直是人们怀疑“Rails 是否能够进入企业应用”的重要原因。经过实践检验,由 HAProxy Monit Mongrel 共同构成的部署环境已经具备了足够强大的能力。但这些软件的配置并不是一件易如反掌的事。

RubyWorks 的出现正是为了解决这个问题:遵循 Rails 社群一贯的“约定俗成优于配置(Convertion-over-Configuration)”的传统,RubyWorks 提供了一个缺省配置好的 Rails 部署环境。缺省配置会在服务器上开启 4 个 Mongrel 进程,分别占用 3002~3005 端口;并用 HAProxy(使用 3001 端口)进行负载均衡。

在《 Agile Web Development with Rails 》的第一版中所推荐的部署方案是基于 FastCGI 的,而第二版则改为推荐基于反向代理的部署方案。James Duncan Davidson 在书中写道:

但 FastCGI 也有很多问题。FastCGI 诞生于 1990 年代中期,但在 Rails 出现之前,它一直默默无闻。即便在被 Rails 重新带回公众视野之后,产品级的、高质量的 FastCGI 环境仍然寥寥无几。很多开发者(包括我们自己)都尝试过各种 Web 服务器与 FastCGI 的组合,并在每种组合中都发现了严重的问题。当然还是有些开发者在 FastCGI 上完成了部署,也没有遇到什么问题,但有那么多人遇到那么多问题,这本身就足以说明:FastCGI 不是一个值得推荐的解决方案。 [……]

简而言之,FastCGI 确实是一枚火箭,但有时会因为各种奇怪的原因而爆炸在发射台上。使用代理让 Rails 应用直接与 HTTP 对话,这是整个社群的发展方向。

RubyWorks 项目领导人 Alexey Verkhovsky 也认为,只有在对“节约内存使用”非常重视的情况下(例如虚拟共享主机),FastCGI 才有其价值;而在普通的企业应用中,可靠性和可管理性重于节约内存,这也是 RubyWorks 选择基于反向代理和 Mongrel 的部署方案的原因。

RubyWorks 还计划于近期推出对 Ubuntu 和 Debian 服务器的支持。

2007-05-17 23:001111
用户头像

发布了 21 篇内容, 共 32031 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

还在为sql注入眼花缭乱的过滤而烦恼?一文教您快速找出所有过滤内容

贤鱼很忙

网络安全 SQL注入 10月月更

Java基础(六)| Debug模式及基础练习

timerring

Java debug 10月月更

正在消失的机器视觉公司

脑极体

一个实际的例子学习 SAP BTP Java 应用的 @Before 注解使用方式

汪子熙

Java 云原生 Cloud SAP 10月月更

25分钟了解命令执行漏洞【例题+详细讲解】(二)

贤鱼很忙

sql 网络安全 10月月更

Spring Batch 可以在一个 Step 中有多个 Tasklet 吗

HoneyMoose

【LeetCode】两个链表的第一个重合节点Java题解

Albert

算法 LeetCode 10月月更

Dev-C++5.11安装教程

Yeats_Liao

后端 Java core 10月月更

IDEA SpringBoot SQL连接常见五大异常处理

Yeats_Liao

后端 Java core 10月月更

Photoshop软件应用项目(二)

张立梵

设计师 ps 10月月更

Spring之核心容器

楠羽

笔记 SP【ring 10月月更

PriorityQueue源码解析(一)

知识浅谈

Priority Queue 10月月更

跟着卷卷龙一起学Camera--双摄01

卷卷龙

ISP camera 10月月更

如何快速对混合云环境进行安全合规检查

HummerCloud

云安全 上云合规 安全合规检测 10月月更

Clickhouse:delete提交成功,数据还在

Ken

Clickhouse

树莓派4B安装64位Linux(不用显示器键盘鼠标)

程序员欣宸

树莓派 10月月更

VS2019 添加bits/stdc++.h万能头文件库

Yeats_Liao

后端 Java core 10月月更

25分钟了解命令执行漏洞【例题+详细讲解】(一)

贤鱼很忙

网络安全 Web 10月月更

什么是Scrum?Scrum的核心要点和精髓

laofo

Scrum 研发效能 敏捷研发

微信朋友圈架构图

Johnny

架构实战训练营9期

Vue组件入门(五)props +

Augus

Vue3 10月月更

2022-10-14:以下go语言代码输出什么?A:0;B:7;C:9;D:不能编译。 package main import “fmt“ func main() { a := []int

福大大架构师每日一题

golang 福大大 选择题

跟着卷卷龙一起学Camera--双摄02

卷卷龙

ISP camera 10月月更

「CSS畅想」周期性事情怕忘,来看看一个月内都安排在哪天

叶一一

CSS JavaScript 前端 10月月更

「趣学前端」给不懂技术的朋友简单演示,代码是怎么被编写出来的

叶一一

JavaScript 前端 10月月更

Zepoch节点单日内售罄,市场反响颇高

股市老人

跟着卷卷龙一起学Camera--DNG格式

卷卷龙

ISP camera 10月月更

Spring Batch 事务限制

HoneyMoose

大数据ELK(二十五):添加Elasticsearch数据源

Lansonli

elasticsearch 10月月更

「趣学前端」日常浏览的页面是怎么实现出来的

叶一一

JavaScript 前端 10月月更

企业级Rails部署环境RubyWorks发布_Ruby_Jeff Xiong_InfoQ精选文章