4

我一直在关注https://devcenter.heroku.com/articles/django#declare-process-types-with-procfile上的教程。除了一件让我烦恼的事情外,一切都很顺利。

启动工头后,我应该看到以下内容:

$ foreman start
2013-04-03 16:11:22 [8469] [INFO] Starting gunicorn 0.17.2
2013-04-03 16:11:22 [8469] [INFO] Listening at: http://127.0.0.1:8000 (8469)

但是,我得到:

Starting gunicorn 17.5
Listening at: http://0.0.0.0:5000

如何更改它以使其仅侦听我的本地计算机(即 127.0.0.1)?

我的 Procfile 仅包含

web: gunicorn hellodjango.wsgi

谢谢!

4

1 回答 1

6

这看起来是当您运行 use gunicorn 以使用工头为 WSGI 应用程序提供服务时使用的默认 IP 地址。

像这样在没有工头的情况下运行您的 django 应用程序:

gunicorn hellodjango.wsgi:application

将其绑定到 gunicorn 的默认值,127.0.0.1:8000

2013-08-23 00:02:54 [45352] [INFO] Starting gunicorn 17.5
2013-08-23 00:02:54 [45352] [INFO] Listening at: http://127.0.0.1:8000 (45352)
2013-08-23 00:02:54 [45352] [INFO] Using worker: sync
2013-08-23 00:02:54 [45355] [INFO] Booting worker with pid: 45355

并在您Procfile的绑定中指定使用:

web: gunicorn -b 127.0.0.1:8000 hellodjango.wsgi

将其绑定到127.0.0.1:8000,或您指定的任何内容。

00:06:26 web.1  | started with pid 45384
00:06:26 web.1  | 2013-08-23 00:06:26 [45384] [INFO] Starting gunicorn 17.5
00:06:26 web.1  | 2013-08-23 00:06:26 [45384] [INFO] Listening at: http://127.0.0.1:8000 (45384)
00:06:26 web.1  | 2013-08-23 00:06:26 [45384] [INFO] Using worker: sync
00:06:26 web.1  | 2013-08-23 00:06:26 [45387] [INFO] Booting worker with pid: 45387

我有兴趣确切地找到工头告诉 gunicorn0.0.0.0用作默认值的位置。

于 2013-08-22T14:06:06.407 回答