1

我一直很高兴地将 Thin & Heroku (Cedar) 用于我的 Rails 3 应用程序,但我刚刚切换到 Unicorn 以使 PDFKit 正常工作。

按照Heroku 的说明,我在我的应用程序的根目录中创建了我的第一个 Procfile,并为其提供了以下内容:

web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb

当我foreman start在命令行键入时,我得到:

14:31:46 web.1  | started with pid 699
14:31:48 web.1  | I, [2013-03-13T14:31:48.544196 #699]  INFO -- : Refreshing Gem list
14:31:55 web.1  | I, [2013-03-13T14:31:55.736480 #699]  INFO -- : listening on addr=0.0.0.0:5000 fd=13
14:31:55 web.1  | I, [2013-03-13T14:31:55.740045 #699]  INFO -- : master process ready
14:31:55 web.1  | I, [2013-03-13T14:31:55.899544 #712]  INFO -- : worker=1 ready
14:31:55 web.1  | I, [2013-03-13T14:31:55.900740 #711]  INFO -- : worker=0 ready
14:31:55 web.1  | I, [2013-03-13T14:31:55.911041 #713]  INFO -- : worker=2 ready

如果我尝试localhost:3000在浏览器中加载,工头的输出下不会再出现任何内容,并且浏览器会说:“糟糕!Google Chrome 无法连接到 localhost:3000。”

而且似乎 Unicorn 根本没有使用 3000 端口,因为它在运行时我仍然可以通过键入来启动 Thin rails server,当我这样做时,我可以再次localhost:3000在浏览器中加载。

发生了什么事,我该如何解决?

4

2 回答 2

6

刮那个。我现在可以看到 Unicorn 发布到localhost:5000. 要使用它,请在应用程序的根目录中localhost:3000放置一个.foreman文件。port: 3000

于 2013-03-13T03:40:27.680 回答
1

你可以在 3000 端口启动独角兽

unicorn_rails --config-file config/unicorn.rb -p 3000
于 2013-08-02T12:02:49.940 回答