Ruby(off the Rails)托管

时间:2009-11-23 18:50:20

标签: ruby hosting

很多人都询问过Rails在这个网站上的托管情况,但是我对后端的内容并不熟悉,知道是否存在差异。

我想托管一些Ruby CGI'webservices',基本上只是从POST请求获取参数,访问MySQL数据库并返回数据的ruby方法。

我看过RoR,看起来有点矫枉过正,我可以说它是为了加速数据baesd CRUD网站的开发,这完全不是我正在做的事情。

所以我的问题是,这会影响我选择的托管服务提供商吗?有没有人推荐一个好的Ruby主机用于CGI操作?我不熟悉FastCGI,mod_ruby,Passenger,Mongrel等以及它们对性能,可伸缩性等的意义。我只是想以相当好的性能托管我的ruby脚本,并且那里的所有信息(和这里)似乎专注于轨道。

2 个答案:

答案 0 :(得分:9)

首先,如果你想要轻量级,Sinatra通常是我的首选。将其与rackPassenger配对以获得最佳效果。这不是CGI,但实际上,CGI很少与Ruby很好地匹配。

这是“Hello World!”来自主页的Sinatra应用程序:

require 'rubygems'
require 'sinatra'
get '/hi' do
  "Hello World!"
end

难以获得更轻量级的效果。

对于提供者,任何支持Passenger(mod_rack)的人都应该能够处理Sinatra。我个人非常喜欢Slicehost,但他们是VPS主机,这意味着您需要自己安装和管理整个堆栈。如果您不介意为基础架构支付额外费用,Heroku使安装和部署变得简单,只要您的需求不超过他们提供的内容(听起来他们不会)。如果您只使用5MB或者使用Amazon RDS之类的外部存储机制,Heroku可能实际上对您免费。

<强>更新

  • Passenger是一个Apache模块,允许在Apache内部运行Rack应用程序。
  • Rack是一个中间件层,它将Web服务器和Web框架相互分离。这允许Web框架在任何有适配器的Web服务器上运行。
  • Sinatra是一个在Rack上运行的轻量级Web框架。

安装了Passenger and Rack(gem install rackgem install passenger)后,您只需编辑Apache vhost以指向您的Sinatra应用程序的config.ru文件,并按照Passenger docs你会很高兴。

答案 1 :(得分:0)

我想你可能想看看Rack。它允许你做你正在谈论的各种事情,并耸耸肩框架的重量,如Rails或Merb。 Rack应用程序可以托管在Heroku等地方。