代码之家  ›  专栏  ›  技术社区  ›  LoveMeSomeCode

Ruby(脱离轨道)托管

  •  6
  • LoveMeSomeCode  · 技术社区  · 16 年前

    很多人都问过这个站点上的Rails托管,但是我对后端的了解还不够,不知道是否有区别。

    我想托管一些RubyCGI“WebServices”,基本上就是Ruby方法,它从post请求中获取参数,访问mysql db并返回数据。

    我看过RoR,从我所知,它似乎是为了加快Baesd Crud站点的数据开发,而这根本不是我正在做的。

    所以我的问题是,这会影响我选择的主机提供商吗?有人推荐一个好的Ruby主机来进行CGI操作吗?我不熟悉fastcgi、mod ou ruby、passenger、mongrel等,以及它们对性能、可扩展性等的意义。我只想以相当好的性能来托管我的ruby脚本,而这里(和这里)的所有信息似乎都集中在Rails上。

    2 回复  |  直到 16 年前
        1
  •  9
  •   Bob Aman    16 年前

    首先,如果你想轻量级, Sinatra 通常是我的第一选择。把它配对 rack Passenger 以获得最佳效果。它不是CGI,但实际上,CGI很少与Ruby匹配。

    这是“你好,世界!”主页上的Sinatra应用程序:

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

    很难得到比这更轻的。

    至于供应商,任何支持乘客(mod_-rack)的人都应该能够处理Sinatra。我非常喜欢 Slicehost 就个人而言,它们是一个VPS主机,这意味着您需要能够自己安装和管理整个堆栈。如果你不介意为基础设施多付一点钱, Heroku 使安装和部署变得非常简单,只要您的需求不超过它们提供的(听起来它们不会)。在不太可能的情况下,如果您只使用5MB或使用外部存储机制,例如 Amazon RDS ,Heroku可能真的是免费的。

    更新:

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

    一旦乘客和机架安装完毕( gem install rack , gem install passenger )您只需编辑apache vhost,指向sinatra应用程序的config.ru文件,并根据 Passenger docs 你会很高兴去的。

        2
  •  0
  •   Indeed is Trash    16 年前

    我想你可能想调查一下 Rack . 它允许你做你正在谈论的事情,并且不必理会框架的重量,比如Rails或Merb。机架应用程序可以在类似 Heroku .

    推荐文章