试图在Ebb网络服务器上运行如何运行Ruby(Sinatra)应用程序

时间:2009-06-12 00:38:33

标签: ruby sinatra

我需要编写一个超快的Ruby应用程序来处理Sinatra上的Web请求 - 并希望在Ebb webserver上运行它。但我无法弄清楚如何做到这一点。有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

sinatra有一个-s选项来指定处理程序。尝试使用-s ebb运行您的应用程序。

答案 1 :(得分:1)

你需要看看Rack:http://rack.rubyforge.org/ 这很简单,你有一个.ru文件,它指示Rack如何启动你的应用程序,在你的应用程序中你有一个'call'方法,在每个请求上调用,并将响应发送回Rack。

在my_app.ru

require 'my_app'
require 'ebb'

# Rack config
use Rack::Static, urls: ['/js', '/public', '/index.html']
use Rack::ShowExceptions

# Run application
run MyApp.new

在my_app.rb

class MyApp
 def call env
    request  = Rack::Request.new env
    response = Rack::Response.new
    params = request.params

    response.body = "Hello World"
    response['Content-Length'] = response.body.size.to_s
    response.finish
  end
end

然后在sinatra配置中指定.ru文件,如:

rackup: my_app.ru