【问题标题】:How to set port for Rack app?如何为 Rack 应用程序设置端口?
【发布时间】:2015-09-15 20:22:01
【问题描述】:

builder.rb:

def app
  Rack::Builder.new do
    run App.new
  end.to_app
end

如何在给定端口上运行?

【问题讨论】:

    标签: ruby rack


    【解决方案1】:

    试试:

    Rack::Handler.default.run(app, :Port => 3000)
    

    虽然在config.ru 文件中运行您的应用程序并将端口指定为rackup 的命令行选项更为典型,例如:rackup -p 3000

    【讨论】:

    • 如果你想在应用之前使用中间件怎么办?
    • 您可能希望在您的 Rack::Builder.new 块中执行此操作。 Rack::Handler::<server>.runconfig.ru 中的 run 语句都将阻止进一步的脚本处理以响应 HTTP 请求。
    • 你是怎么弄明白这些东西的?
    • 看一眼您的个人资料,您似乎对 Rack 的工作原理有了相当深入的了解!我对 Rack 的有限了解主要来自于阅读Rack-Contrib 的源代码(这些实用程序大多简短易懂)和Cuba,并阅读了一些关于 Rack Middleware 以及如何直接使用 Rack 的在线文章.我不知道我最初在哪里发现Handler.run...
    • 我希望我掌握得很好!感谢您的信息。
    【解决方案2】:

    当您 rackup 时,只需使用选项 -p 指定它:

    rackup -p 8808 可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 2012-05-14
      相关资源
      最近更新 更多