Django 部署 - 没有 Web 进程
Posted
技术标签:
【中文标题】Django 部署 - 没有 Web 进程【英文标题】:Django Deployment - No web processes 【发布时间】:2021-04-30 21:45:52 【问题描述】:我使用 Django 3.1.5 创建了一个应用程序,但由于某种原因,它没有正确部署。我会分享我所做的并拥有它。
我已经设置了我的 Procfile 并且有我的 requirements.txt,我按照网站上的说明进行了部署,但仍然出现错误。
computer setting image and Procfile
在我的 settings.py 我有这个:
# on the top of the file
import django_heroku
# on the bottom of the file
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_DIRS = [
os.path.join(BASE_DIR, 'todo/static')
]
LOGIN_URL = '/login'
# Activate Django-Heroku.
django_heroku.settings(locals())
过程文件
web: gunicorn todowoo.wsgi
完成部署后出现此错误
应用程序错误 应用程序发生错误,无法提供您的页面。如果您是应用程序所有者,请查看您的日志以获取详细信息。 heroku 日志 --tail 了解详情
以下是详细信息:
2021-01-27T03:16:07.704192+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=djangotodowoo.herokuapp.com request_id=babd8359-3dfe-4df9-8ce6-5243de91b159 fwd="66.31.116.154" dyno=
connect= service= status=503 bytes= protocol=https
2021-01-27T03:16:07.912002+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=djangotodowoo.herokuapp.com request_id=4114d73f-f15f-4d35-9c1b-e25225a36bde fwd="66.31.116.154" dyno= connect= service= status=503 bytes= protocol=https
2021-01-27T03:16:10.630599+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=djangotodowoo.herokuapp.com request_id=9426a4a1-061f-41b6-a9a0-46190b752b60 fwd="66.31.116.154" dyno=
connect= service= status=503 bytes= protocol=https
2021-01-27T03:16:10.760576+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=djangotodowoo.herokuapp.com request_id=cb4c8412-eaa2-482a-9daa-e5126f2a89e3 fwd="66.31.116.154" dyno= connect= service= status=503 bytes= protocol=https
2021-01-27T03:16:11.398016+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=djangotodowoo.herokuapp.com request_id=8f025699-e7b8-4ca8-9795-36ad7754ef9f fwd="66.31.116.154" dyno=
connect= service= status=503 bytes= protocol=https
2021-01-27T03:16:11.548669+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=djangotodowoo.herokuapp.com request_id=d1c4ed4e-bbf6-43ff-88d0-2788f268fbe3 fwd="66.31.116.154" dyno= connect= service= status=503 bytes= protocol=https
2021-01-27T03:18:44.000000+00:00 app[api]: Build started by user lenilunderman@gmail.com
2021-01-27T03:19:12.176886+00:00 app[api]: Release v6 created by user lenilunderman@gmail.com
2021-01-27T03:19:12.176886+00:00 app[api]: Deploy 6caa0271 by user lenilunderman@gmail.com
2021-01-27T03:19:22.000000+00:00 app[api]: Build succeeded
我尝试运行 heroku ps:scale web=1 并得到了这个:
Scaling dynos... !
! Couldn't find that process type (web).
知道如何解决这个问题吗?谢谢。
【问题讨论】:
【参考方案1】:我最近遇到了类似的情况。我按照这些命令成功地将 django 应用程序部署到 heroku 中
首先确保您拥有requirements.txt
和Procfile
Procfile
里面的内容是这样的
web: python manage.py runserver 0.0.0.0:$PORT
运行python manage.py collectstatic
只是为了确保collectstatic
没有错误
然后cmd
中的这些命令
heroku 登录
然后从浏览器登录
git 初始化
heroku git:remote -a app_name
git 添加。
git commit -am "第一次提交"
git push heroku main
heroku 运行 python manage.py 迁移
heroku 打开
【讨论】:
github.com/heroku/python-getting-started。从一开始就按照此链接中的说明进行操作 非常感谢!我能够部署。我听从了你的指示,它奏效了。我的主要问题是 Procfile 的位置,而不是 root,我将它添加到项目本身。在我把它移到正确的位置后,一切都很顺利。 好的。我应该提到Procfile
的位置
我注意到我的 django 管理员在本地工作,但不是远程工作。我是否必须在本地创建一个新管理员并再次推送代码?我可以在线创建用户,但目前不存在管理员。知道可能是什么吗?
我能够解决这个问题,我只需要在 heroku 上创建一个新的超级用户。 heroku run python manage.py createsuperuser
以上是关于Django 部署 - 没有 Web 进程的主要内容,如果未能解决你的问题,请参考以下文章