【问题标题】:How do you translate a rackup invocation to a self-contained script?如何将 rackup 调用转换为独立的脚本?
【发布时间】:2015-06-07 09:12:14
【问题描述】:

我正在尝试从一个应用中制作一个宝石:

 spawn("rackup", "--port", PORT.to_s, "--server", "thin", "-E", "development", File.expand_path("../server.ru", __FILE__))

如果我在 gem 中使用它,我会得到一个 LoadError for thin(在打包并安装它之后)(thin 在我的 gemspec 中,但我猜这个错误与生成机架有关可执行文件,它不是 gem 包的一部分)。

替换:

run app

Rack::Handler::Thin.run app

server.ru文件中会启动服务器,但我也需要设置参数。

我试了一下:

ENV['RACK_ENV']='development'
Rack::Handler::Thin.run app, host: 'localhost', port: PORT.to_s

无济于事。使用显式处理程序将参数化的 rackup 调用转换为可执行的 *.ru 文件的秘诀是什么?

【问题讨论】:

    标签: ruby rack


    【解决方案1】:

    Rack::Handler::Thin 有一个 valid_options 方法。 这些键都不起作用,各种组合也不起作用。 SERVER_PORTSERVER_HOST 环境变量也不起作用。

    我最终以*.ru 文件作为参数运行thin 可执行文件,并且这样做了

    很可能我尝试过的东西可以与 Thin 以外的其他处理程序一起使用(即 Thin 可能是一个糟糕的机架公民)。我不知道也不关心。只需要让这个工作。当然,我会欣赏(赞成/接受)更能说明这一点的答案

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-29
      • 2019-07-11
      • 2017-05-17
      相关资源
      最近更新 更多