Gunicorn:HaltServer的工作人员无法启动.

LVN*_*NGD 5 deployment django heroku gunicorn foreman

我已经向heroku部署了一些django项目,并且无法弄清楚这里发生了什么或者从哪里开始调试.它似乎立即崩溃.

foreman start
Run Code Online (Sandbox Code Playgroud)

给我:

00:13:21 web.1  | started with pid 1242
00:13:22 web.1  | exited with code 3
00:13:22 system | sending SIGTERM to all processes
SIGTERM received
Run Code Online (Sandbox Code Playgroud)

Procfile: web: gunicorn lvngd.wsgi:application

当我推送到heroku时它会立即崩溃.

我甚至不知道从哪里开始...我试图启动一个不同的应用程序,完全通过django教程尝试回溯,但我得到了相同的错误,所以它似乎是我的设置中的东西?

我之前部署的应用程序之间的唯一区别是它们是Django 1.5,我目前正在尝试推送Django 1.6.

我已经尝试重新安装heroku工具带,重新安装工头,重新安装gunicorn(gunicorn似乎与python manage.py run_gunicorn一起使用)和检查设置等.

当我尝试运行时,gunicorn lvngd.wsgi:application我得到一个跟踪错误然后gunicorn.errors.HaltServer: 但我不知道如何解决这个问题.

Jos*_*h K 0

我从 Heroku 得到的 \xe2\x80\x9cofficial\xe2\x80\x9d 答案:

\n\n
\n

这看起来是 Gevent 的问题。我会推荐以下内容。

\n\n
    \n
  • 确保您安装了最新版本的 Gevent。
  • \n
  • 确保您安装了最新版本的 Gunicorn。
  • \n
\n\n

如果这两者都成立,您可能想尝试使用 Eventlet。它通常与应用程序代码更兼容。

\n
\n\n

在完成此操作的同时,我还通过 Librato 和 Slack 添加了监控,以便在应用程序开始响应不佳时通知我。当它发生时,我发出一个heroku restart命令来滚动正在运行的测功机并似乎解决了这个问题。

\n