写点什么

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

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

关注

评论

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

wallys-WiFi-5-outdoor-Access-point-IPQ4019/4029-industrial wireless AP

Cindy-wallys

IPQ4019 ipq4029

Java Web(十一)Ajax&Axios&JSON

浅辄

json ajax javaWeb axios 11月月更

白嫖一款免费的GIF录制软件,好用到飞起,萌新小白装机必备。

bug菌

GIF gif录制 视频录制

webpack配置完全指南

Geek_02d948

webpack

python小知识-模块

AIWeker

Python python小知识 11月月更

前端食堂技术周刊第 59 期:GitHub Universe 2022、Rome v10、Parcel v2.8.0、可扩展的 CSS 演变、Solid Start Beta

童欧巴

CSS vim Github Action

软件测试丨测试大咖漫谈如何搞定软件质量?

测试人

软件测试 软件质量 自动化测试 测试开发

一文彻底读懂webpack常用配置

Geek_02d948

webpack

大麦 Android 选座场景性能优化全解析

阿里巴巴终端技术

android 性能优化 客户端

高频量化合约对冲交易软件开发源代码

开发微hkkf5566

细说React组件性能优化

xiaofeng

React

深度剖析React懒加载原理

xiaofeng

React

于雨荣获 2022 年度 "OSCAR 尖峰开源人物"

apache/dubbo-go

商业智能工具BI口碑解读:Quick BI为何连续入选魔力象限?

夏日星河

StarRocks 技术内幕 | 多表物化视图的设计与实现

StarRocks

数据库 数据分析

李白:你的模型权重很不错,可惜被我没收了

OneFlow

人工智能 深度学习 模型

深度探讨react-hooks实现原理

xiaofeng

React

智慧物流数字孪生系统

申扬科技

智慧物流 数字孪生

亚洲合作资金项目“上合国家软件产业和数据治理合作论坛”在京召开

Geek_2d6073

云管平台厂家联系方式谁有?咨询电话多少?

行云管家

云计算 云服务 企业上云 云管平台 云资源

Java Web(十)Filter和Listener

浅辄

javaWeb filter listener 11月月更

5.图学习【参考资料2】-知识补充与node2vec代码注解

汀丶人工智能

图神经网络 11月月更

python小知识-python 文件操作

AIWeker

Python python小知识 11月月更

爱了!阿里技术官亲笔的Java快速面试指南,熬夜啃完剑指大厂

程序知音

Java java面试 java架构 后端技术 Java面试八股文

国有银行发挥普惠金融“头雁”效应,业务成果领跑商业银行

易观分析

普惠金融

[力扣] 剑指 Offer 第一天 - 包含min函数的栈

陈明勇

Go 数据结构与算法 力扣 11月月更

Prometheus 监测 RocketMQ 最佳实践

Apache RocketMQ

RocketMQ #java #运维 消息序列

webpack高级配置

Geek_02d948

webpack

万物互联,合作共赢:中国物联网行业发展洞察2022

易观分析

物联网 报告

HA软件是做什么的?主要作用是什么?

行云管家

高可用 ha 双机热备

CANN 6.0来了,硬核技术抢先看

华为云开发者联盟

人工智能 华为云 昇腾 CANN 6.0

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