部署在heroku上的Django网站不起作用

Posted

技术标签:

【中文标题】部署在heroku上的Django网站不起作用【英文标题】:Django website deployed on heroku does not work 【发布时间】:2020-10-30 17:42:06 【问题描述】:

我创建了一个 django 网站并尝试将其部署到 heroku。我按照本教程做了他所做的一切,但我在日志中发现了这些错误

2020-07-10T02:06:01.015381+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=website.herokuapp.com request_id=9efff235-77f8-41e8-bc9e-9f80bd2b6aa1 fwd="172.98.86.231" dyno= connect= service= status=503 bytes= protocol=https

2020-07-10T02:06:01.743381+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=website.herokuapp.com request_id=bf2f44a0-8f5c-4e63-a1c9-e16a33761803 fwd="172.98.86.231" dyno= connect= service= status=503 bytes= protocol=https

我的 procfile 有这些内容

web: gunicorn website.wsgi --log-file -

我的 requirements.txt 包括这些

asgiref==3.2.3
Django==2.1.7
pytz==2019.3
sqlparse==0.3.0
SQLAlchemy==1.3.9
psycopg2==2.8.4
Jinja2==2.10.3
gunicorn==20.0.4

我曾经在本地运行站点时遇到相同的 HTTP 错误,但该站点用于呈现和正常工作。我在 heroku 中遇到同样的错误,但网站无法正常工作

有人可以解释这些错误的含义以及如何解决它们,或者您也可以回复一个指向您用于部署网站和工作的视频或文档的链接

【问题讨论】:

这会有帮助吗? ***.com/questions/41804507/… 不,我看了一下,但它不相关。我曾经在本地运行站点时遇到相同的 HTTP 错误,但该站点用于呈现和正常工作。我在 heroku 中遇到同样的错误,但网站无法正常工作 【参考方案1】:

您正面临这个问题,因为 Gunicorn 没有运行。

尝试在本地计算机上运行此命令:“gunicorn website.wsgi --log-file - “它运行了吗?

Heroku 是否有任何构建错误?

【讨论】:

我试图运行代码,但由于我在 Windows 上,我收到了错误 ModuleNotFoundError: No module named 'fcntl' and no there is not any build errors 我得到的唯一错误是上面提到的,同样的错误不断重复【参考方案2】:

我想通了。就我而言,我将“procfile”重命名为“Procfile”,并将 procfile 的内容更新为

web: gunicorn website.wsgi:application --log-file -
python manage.py collectstatic --noinput
manage.py migrate

这成功了

【讨论】:

以上是关于部署在heroku上的Django网站不起作用的主要内容,如果未能解决你的问题,请参考以下文章

gzip 在带有 Whitenoise 的 Django 中不起作用

cloudinary上的图像上传在heroku中不起作用

Django Debug=假白噪声不起作用

Heroku 部署了我的不和谐机器人,但它的命令不起作用

Heroku 上的 Django manage.py 自定义命令

部署到heroku后actioncable不起作用