我想托管一些Ruby CGI’webservices’,基本上只是ruby方法,它从POST请求获取参数,访问MySQL数据库并返回数据.
我已经看过RoR了,这似乎有点过分了,我可以说它是为了加快数据baesd CRUD站点的开发,这完全不是我正在做的事情.
所以我的问题是,这会影响我选择的托管服务提供商吗?有没有人推荐一个好的Ruby主机用于CGI操作?我不熟悉FastCGI,mod_ruby,Passenger,Mongrel等以及它们对性能,可伸缩性等的意义.我只是想以相当好的性能托管我的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模块,允许Rack应用程序在Apache内部运行.
> Rack是一个中间件层,它将Web服务器和Web框架相互分离.这允许Web框架在任何有适配器的Web服务器上运行.
> Sinatra是一个轻量级的Web框架,运行在Rack之上.
一旦安装了乘客和机架(宝石安装机架,宝石安装乘客),您只需编辑Apache虚拟机指向您的Sinatra应用程序的config.ru文件,并根据Passenger docs创建所需的目录,你会很好去.