我有一个Ruby Web API并使用Rack,config.ru
文件如下所示:
#\ -p 8080 -o 0
run App::API
它运行良好,但如果我想使用rackup
参数更改Web服务器的端口,它将无法正常工作。似乎config.ru
中的第一行参数覆盖命令行参数。我在Rack文档中找不到解释此行为的任何内容。
问题是我是否像这样执行Rack服务器:
bundle exec rackup -p 8000
我希望它绑定到端口8000
,但它仍绑定到端口8080
。如何在不更改config.ru
文件的情况下更改端口?
答案 0 :(得分:3)
所以我决定提交Rack的拉取请求以修复这种奇怪的行为。阅读代码我发现了一些非常奇怪的东西,代码应该按照我的预期工作:|
它支持配置文件(config.ru
)上的命令行参数!
深入研究代码提交后发现,这些更改尚未合并到任何 stable 版本中(1.6.4
)。它实际上是版本 2.0.0.alpha 。这显然不是生产准备。
答案是:在1.x版本中它是不可能的,我应该更改config.ru
或忘记这一点:(