Gunicorn:HaltServer 'Worker 无法启动。'
Posted
技术标签:
【中文标题】Gunicorn:HaltServer \'Worker 无法启动。\'【英文标题】:Gunicorn: HaltServer 'Worker failed to boot.'Gunicorn:HaltServer 'Worker 无法启动。' 【发布时间】:2014-08-05 20:43:40 【问题描述】:我已经将一些 django 项目部署到 heroku,但完全不知道这里发生了什么或从哪里开始调试。它似乎立即崩溃。
foreman start
给我:
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
Procfile:
web: gunicorn lvngd.wsgi:application
当我推送到 heroku 时,它也会立即崩溃。
我什至不知道从哪里开始...我尝试启动一个不同的应用程序,完全通过 django 教程尝试回溯,但我遇到了同样的错误,所以它似乎在我的设置?
我之前部署的应用程序之间的唯一区别是它们是 Django 1.5,而我目前正在尝试推送 Django 1.6。
我已经尝试重新安装heroku toolbelt,重新安装工头,重新安装gunicorn(gunicorn 似乎可以与python manage.py run_gunicorn 一起使用)并检查设置等。
当我尝试运行 gunicorn lvngd.wsgi:application
时,我得到一个跟踪错误,然后是 gunicorn.errors.HaltServer:
,但我不知道如何解决这个问题。
【问题讨论】:
这看起来像是您的 django 应用程序中的某个错误,因为 H10 表示测功机崩溃,错误代码 3 通常表示文件或路径无效。我希望这会有所帮助。 这就是我的想法,但我开始了一个新的 django 应用程序(一个没有任何内容的空白应用程序)并尝试按照 heroku 启动指南进行操作,这样我就可以运行一些东西,它仍然给了我同样的错误。 【参考方案1】:我从 Heroku 得到的“官方”回答:
这似乎是 Gevent 的问题。我会推荐以下。
确保您安装了最新版本的 Gevent。 确保您安装了最新版本的 Gunicorn。如果这两个都成立,您可能想尝试使用 Eventlet。它通常与应用程序代码更兼容。
虽然我已经这样做了,但我还通过 Librato 和 Slack 添加了监控功能,以便在应用开始响应不佳时通知我。当它发生时,我发出一个heroku restart
命令,该命令将正在运行的测功机翻转过来,似乎可以解决这个问题。
【讨论】:
以上是关于Gunicorn:HaltServer 'Worker 无法启动。'的主要内容,如果未能解决你的问题,请参考以下文章
Nginx Django 和 Gunicorn。 Gunicorn 袜子文件丢失?