Heroku部署Django时配置Procfile仍报No web processes running错误怎么办
排查解决步骤
- 确认Procfile无后缀、位置正确
关闭Windows系统的「隐藏已知文件类型扩展名」设置,检查文件名是否完全为Procfile(首字母大写,无.txt等任何后缀),且文件放在项目根目录,和manage.py处于同一层级,不要放在Django项目同名的子文件夹内。 - 确认Procfile已提交到部署分支
检查项目的.gitignore文件是否不小心加入了Procfile规则,执行git status确认Procfile已经被git追踪,提交修改后再推送到Heroku对应的部署分支。也可以执行heroku run bash进入应用容器,执行ls命令查看根目录是否存在Procfile,不存在则说明未成功推送。 - 检查requirements.txt依赖
确认requirements.txt中已经加入gunicorn依赖,本地未安装gunicorn的情况下执行pip freeze不会自动生成该依赖,需要手动添加后重新部署。 - 修正Procfile格式
确保Procfile内的内容没有多余空格、换行或特殊字符,内容严格为:
注意web: gunicorn rpa_django.wsgiweb后是英文冒号,冒号后必须有一个空格。 - 检查部署构建日志
推送代码到Heroku时,查看控制台输出的构建日志,确认存在Procfile declares types -> web的提示,无该提示则说明Heroku未识别到Procfile,回到上述步骤重新排查。
排查完成后重新部署,再执行heroku ps:scale web=1即可正常启动web进程。
内容的提问来源于stack exchange,提问作者clerkvector112
相关产品推荐
相关产品推荐

