Heroku Procfile 不会运行 Django 应用程序

Posted

技术标签:

【中文标题】Heroku Procfile 不会运行 Django 应用程序【英文标题】:Heroku Procfile won't run Django app 【发布时间】:2016-03-30 09:12:30 【问题描述】:

我正在尝试使用我的 Heroku Procfile 在本地启动我的 Django 应用程序。但它会出错并显示以下消息:

forego | starting web.1 on port 5000
web.1  | [2015-12-23 13:27:19 -0800] [8313] [INFO] Starting gunicorn 19.3.0
web.1  | [2015-12-23 13:27:19 -0800] [8313] [INFO] Listening at: http://0.0.0.0:5000 (8313)
web.1  | [2015-12-23 13:27:19 -0800] [8313] [INFO] Using worker: sync
web.1  | [2015-12-23 13:27:19 -0800] [8317] [INFO] Booting worker with pid: 8317
web.1  | [2015-12-23 13:27:19 -0800] [8317] [ERROR] Exception in worker process:
web.1  | til.py", line 355, in import_app
web.1  | ortlandpython/lib/python3.5/site-packages/gunicorn/util.py", line 355, in import_app
web.1  | [2015-12-23 13:27:19 -0800] [8317] [INFO] Worker exiting (pid: 8317)
web.1  | [2015-12-23 13:27:19 -0800] [8313] [INFO] Shutting down: Master
web.1  | [2015-12-23 13:27:19 -0800] [8313] [INFO] Reason: Worker failed to boot.

这是我的 Procfile:

web: gunicorn mysite.config.settings.wsgi:application --log-file -

我的 wsgi 文件位于 mysite/config/settings/wsgi.py

这里有解决办法吗?

【问题讨论】:

您尝试了web: gunicorn mysite.config.settings.wsgi 还是web: gunicorn mysite.config.settings.wsgi:application?另外,“使用 Heroku Procfile 在本地部署是什么意思?您是否尝试在本地使用与生产中使用的相同设置? web: gunicorn mysite.config.settings.wsgi 让我跑步。基本上,我希望能够使用 heroku local:run python manage.py runserver --settings=config.settings.local 之类的命令运行 Django 管理命令,请随意添加解决方案,我会接受。 很高兴听到!我将其发布为答案,以防其他人偶然发现并需要解决方案 【参考方案1】:

试试吧:

web: gunicorn mysite.config.settings.wsgi

【讨论】:

以上是关于Heroku Procfile 不会运行 Django 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Procfile 在 Heroku 中声明类型 -> (none)

Heroku procfile多个工人[重复]

使用 django 频道的 heroku 的正确 procfile / 要求是啥?

如何通过 Procfile 在 Heroku 上禁用 Rails web dyno?

为 Java Spring Boot Gradle 项目构建 Heroku Procfile

通过 Gunicorn 在 Heroku 上的 Django-twoscoops-project(骨架)。如何设置Procfile?