4

我有Rails(4.0.3 版)应用程序,它使用nginx作为前端服务器将请求分派到实际的Unicorn。在开发应用程序时,我想使用Windows 上的Docker (boot2docker) 来运行应用程序,并使用ruby​​-debug-ide来远程调试应用程序。

原始设置工作正常(主机上的应用程序答案),直到我替换rails server

rdebug-ide --port 1234 --host 0.0.0.0 --dispatcher-port 26162 -- bin/rails server

在 Docker 容器上运行此程序后,我成功连接到远程调试器,因为它在 Docker 容器 bash 上告诉断点是根据我在 RubyMine 上设置的内容添加的,并告诉 Unicorn 服务器现在正在运行。我也添加了 gem unicorn-railsrails server为 Unicorn 工作。

现在实际的问题是,当它在调试器中运行时,nginx 似乎找不到独角兽。它只是继续加载浏览器(并使用 curl),直到返回 504(网关超时)。

有趣的独角兽配置包含

app_dir = "/app"
working_directory app_dir
pid "#{app_dir}/tmp/unicorn.pid"
worker_processes 1
listen "/tmp/unicorn.sock", :backlog => 64

我已经按照JetBrains 帮助页面中的描述设置了所有内容。在 Docker 上,我打开了所有必要的端口(调试器为 1234,调度程序为 26162,HTTPS 为 443)。

我已经爬了几个小时的 Internet 和 Stack Overflow 没有任何运气,并且找不到任何可以尝试的东西了。有任何想法吗?

4

0 回答 0