写点什么

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

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

关注

评论

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

欧拉的奇异之旅·风暴来临与欧拉初诞

脑极体

电商直播选品该怎么做?有没有好用的工具?

优秀

带货 直播 低代码开发

玉米可流转数字仓单标准的落地 将加速行业的资产数字化进程

CECBC

模块八作业

Geek_e6f7f6

架构实战营

阿里云张献涛:自主最强DPU神龙的秘诀

阿里云弹性计算

阿里云 神龙架构 DPU

DC系列靶机知识点总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

Web Components 系列—— 详解 Slots

CRMEB

网络安全kali渗透学习 web渗透入门 如何进行基于ping命令的探测

学神来啦

基于云开发的健身房预约小程序平台

CC同学

关于 docker-compose stop 和 docker-compose start 的误解

liuzhen007

容器 云服务 2月月更

Kotlin语法手册(一)

寻找生命中的美好

android kotin

Linux系统编程-(pthread)线程通信(信号量)

DS小龙哥

信号量 2月月更

一手实录!朱广权的AI手语搭档是怎样“养成”的?

百度开发者中心

百度智能云 百度AI

实战领域驱动设计开篇

worry

领域驱动设计 DDD 领域驱动 Domain Driven Design

裁员,降薪,大牛出走:AI大退却的始末缘由

脑极体

Apache APISIX 存在改写 X-REAL-IP header 的风险公告(CVE-2022-24112)

API7.ai 技术团队

IP 漏洞 Apache APISIX APISIX 网关

区块链通证经济:通往未来十年财富分配的新格局

CECBC

区块链+体育发展提速 区块链球员数据系统预计上半年投入使用

CECBC

Linux系统编程-Shell脚本基本使用(变量、运算符、语句等)

DS小龙哥

shell脚本编写 2月月更

在线ASCII Banner艺术字生成工具

入门小站

工具

【架构训练营模块二作业】分析一下微信朋友圈的高性能复杂度

yhjhero

#架构训练营

浅析PHP伪协议在CTF的应用

喀拉峻

网络安全

项目遇到突发问题,如何给上级做汇报?

石云升

项目管理 项目经理 2月月更

浅谈AI机器学习及实践总结 | 社区征文

张浩_house

机器学习 数据工程 机器学习算法 新春征文

Web Components 系列(五)—— 关于 Templates

编程三昧

前端 组件化 2月月更

基于 Kyma 的企业级云原生应用的扩展案例分享 | 社区征文

汪子熙

Kubernetes 云原生 新春征文 2月月更 Kyma

RTE2021 回顾丨实践中的摸爬滚打,AI OPS 落地之路

RTE开发者社区

人工智能 算法 Ops

第十节:SpringBoot中的日志管理

入门小站

spring-boot

iOS开发·备战2022金三银四-runtime原理与实践: 消息转发详解篇

iOSer

ios runtime iOS面试 ios开发 金三银四跳槽

验收测试驱动开发后记

Bruce Talk

敏捷 Agile User Story

Linux系统编程-(pthread)线程通信(自旋锁)

DS小龙哥

自旋锁 2月月更

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