10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

企业级 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:001429
用户头像

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

关注

评论

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

容量保障落地四步走

老张

性能测试 服务治理 稳定性保障 容量测试 容量保障

手写一个react,看透react运行机制

flyzz177

React

2022-12-13:游戏玩法分析 I。写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。 +-----------+-------------+ | player_id | first_l

福大大架构师每日一题

数据库 福大大

架构实战营 模块2作业

西山薄凉

「架构实战营」

工作中常用的设计模式--享元模式

lpe234

Java 设计模式 享元模式 spring-boot

深入React源码揭开渲染更新流程的面纱

flyzz177

React

鸿蒙开发实例 | 鸿蒙操作系统的前世今生

TiAmo

华为 华为云 鸿蒙开发 12月月更

使用JMeter模拟设备通过MQTT发送数据

石云升

测试 Jmeter mqtt

react源码分析:深度理解React.Context

flyzz177

React

浅谈字节码增强技术系列2-Asm与Cglib

京东科技开发者

spring asm cglib spring aop JDK 动态代理

java开发哪家机构比较好?

小谷哥

Zebec正在以流支付的方式,推动加密资产支付走上正轨

鳄鱼视界

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

前端必会面试题汇总

loveX001

JavaScript

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

大数据开发培训机构该怎么选择?

小谷哥

深度分析React源码中的合成事件

flyzz177

React

react的useState源码分析

flyzz177

React

react源码分析:组件的创建和更新

flyzz177

React

秒云荣获2022爱分析·中国运维最佳实践案例大奖

MIAOYUN

运维 解决方案 容器云平台 云原生容器 IT解决方案

社招前端二面react面试题集锦

beifeng1996

React

在西安怎么选择java培训?

小谷哥

PPC Insights 系列:高效在线匿踪查询技术

洞见科技

隐私计算 数据隐私计算 匿踪查询

Verilog 过程赋值

芯动大师

Verilog Verilog语法 Verilog过程赋值

前端一面高频面试题(附答案)

loveX001

JavaScript

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

常见react面试题

beifeng1996

React

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

数据驱动测试-从方法探研到最佳实践

京东科技开发者

测试 自动化测试 数据存储 自动化测试框架 测试数据构造

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

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