【问题标题】:Trying to Workout how-to run a Ruby (Sinatra) app on the Ebb webserver尝试锻炼如何在 Ebb 网络服务器上运行 Ruby (Sinatra) 应用程序
【发布时间】:2009-06-12 16:24:15
【问题描述】:

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

【问题讨论】:

  • 不要使用 Ebb,它没有维护。补丁被忽略,实现被破坏。

标签: ruby sinatra


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您需要查看机架: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
    

    【讨论】:

    • 我没有看到 sinatra 位是如何落入这个范围内的……sinatra 代码在哪里?在 my_app.ru 中?
    • 事实证明 ebb 在 Windows 上不可用...同样的过程是否适用于 lighttpd?
    • 如果您正在寻找高性能服务器,Nginx 在 Ruby 应用程序中非常流行,我已经看到它在测试中击败了 Lighttpd。
    • 但它们不适用于 Windows,是吗? :(
    猜你喜欢
    • 2019-11-23
    • 2019-11-10
    • 2016-02-07
    • 2019-07-27
    • 1970-01-01
    • 2011-08-21
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多