问题描述
我向 Heroku 部署了一个 Django 博客应用,构建成功,但在打开应用时,我看到一个页面说应用程序错误,它说要检查日志,但我没有收到消息。
这是日志
2021-04-27T15:41:49.301926+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=campusstory.herokuapp.com request_id=c5396159-b7e0-4ada-8764-54d40add0bc2 fwd="102.89.3.201" dyno= connect= service= status=503 bytes= protocol=https
2021-04-27T15:41:49.674072+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=campusstory.herokuapp.com request_id=22a9b86c-9b7a-4851-8ff1-7c0c8c733a44 fwd="102.89.2.205" dyno= connect= service= status=503 bytes= protocol=https
2021-04-27T15:47:31.201263+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=campusstory.herokuapp.com request_id=477c9fb1-4b53-4bb8-9fc2-1f4e66604ff0 fwd="102.89.2.205" dyno= connect= service= status=503 bytes= protocol=https
2021-04-27T15:47:31.619852+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=campusstory.herokuapp.com request_id=3ef7ae48-18cb-4979-8bce-ef80dc4e021f fwd="102.89.3.44" dyno= connect= service= status=503 bytes= protocol=https
2021-04-27T15:47:33.950102+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=campusstory.herokuapp.com request_id=4abaafe0-8bd6-4d0c-a7fb-c0524fc4ca00 fwd="102.89.3.201" dyno= connect= service= status=503 bytes= protocol=https
2021-04-27T15:47:34.389228+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=campusstory.herokuapp.com request_id=3b3953cf-8f47-4de9-ba88-4da2c4e14249 fwd="102.89.2.205" dyno= connect= service= status=503 bytes= protocol=https
解决方法
一个常见的错误是没有正确设置您的 Procfile。您可以阅读有关它的更多信息 here。为了举例,这里是你的 Procfile 应该是什么样子
web: gunicorn myproject.wsgi --log-file -
当然,请确保您的 Django 项目中安装了 gunicorn。
现在,如果这已经在您的项目中,问题可能是您没有运行任何 dynnos。可以通过以下方式让 Heroku 知道来修复:
$ heroku ps:scale web=1
在这里您可以了解dyno configurations和deploying您的应用
,我是 Django 的相对新手,最近我第一次经历了部署到 Heroku 的过程,我觉得这并不简单。以下是您需要做的一些事情才能使其发挥作用:
安装(在您的虚拟环境中)软件包 psycopg2
、django-heroku
和 gunicorn
。
通过运行 requirements.txt
在本地项目文件夹的顶层创建一个 pip freeze > requirements.txt
。
正如在另一个答案中指出的那样,在包含行 Procfile
web: gunicorn myproject.wsgi --log-file -
在您的 settings.py
文件中,添加 import django_heroku
和(在底部可以)django_heroku.settings(locals())
。