错误H14在部署到heroku时发生 这是我的procfile:
web: gunicorn -w 4 -b 0.0.0.0:$PORT -k gevent main:app
登录heroku:
2017-01-23T10:42:58.904480+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/" host=meetcapstone.herokuapp.com request_id=df88efb5-a81a-4ac0-86dc-4e03d71266bb fwd="81.218.117.137" dyno= connect= service= status=503 bytes=
2017-01-23T10:42:59.009135+00:00 heroku[router]: at=error code=H14 desc="No web processes running" method=GET path="/favicon.ico" host=meetcapstone.herokuapp.com request_id=21cea981-36b0-4410-891f-548bbc29f0ee fwd="81.218.117.137" dyno= connect= service= status=503 bytes=
要求:
Flask==0.11.1
passlib==1.7.0
SQLAlchemy==1.1.5
Werkzeug==0.11.15
gunicorn==19.0.0
gevent==1.2.1
答案 0 :(得分:35)
这里的问题是你没有运行任何网络动态。您可以通过以下方式告诉Heroku:
$ heroku ps:scale web=1
这将迫使Heroku旋转网络dyno,从而执行你的gunicorn命令。
答案 1 :(得分:11)
经过3个小时的调试,我弄清楚了为什么我的应用导致此错误:
Procfile
的大小写错误gunicorn
未安装在我的venv
在Heroku的末尾没有发现非常基本的错误,对它们不包含在某些错误读数中非常讨厌。
有关dyno configuration的更多信息–有关初始化heroku app的更多信息。
答案 2 :(得分:5)
我在这里也遇到了问题。我的问题是我的Procfile是“ Procfile.txt”。 解决我问题的方法是从Procfile中删除文件扩展名,然后重新提交 并将内容推送到heroku
答案 3 :(得分:3)
heroku/python
heroku ps:scale web=1
。您完成了!
答案 4 :(得分:1)
我没有回复正确评论的声誉,但是对我来说,问题是我的根目录中没有 run.gunicorn.sh 文件,这导致了出现同样的“没有正在运行的Web进程”错误。
如果没有此文件,请创建包含以下内容的文件:
gunicorn -b :5000 --access-logfile - --error-logfile - build:app
其中“ build”是您的python文件的名称(在本例中为build.py),而app是代码中您的应用的名称。
也要像其他人已经指出的那样,确保gunicorn包含在requirements.txt中。
答案 5 :(得分:1)
我通过转到配置 Dynos 并启用我手动拥有的唯一 dyno 解决了该问题。
答案 6 :(得分:1)
这不是你的代码的问题,但我已经收到了几次这个错误消息,我犯的错误导致它一直在写
web:gunicorn
代替
web: gunicorn
那个空间真的会导致很多问题。
答案 7 :(得分:0)
在此命令之前:
heroku ps:scale web=1
我不得不再次删除并添加buildpack,然后清空提交并将其重新部署到heroku。
heroku buildpacks:clear
heroku buildpacks:add --index heroku/python
答案 8 :(得分:0)
将您的 Procfile 文件从 web:gunicorn 到 web gunicorn(删除“:”)
答案 9 :(得分:0)
我在 web gui 上缺少 dynos。用于缩放的 cli 命令不起作用。我也可能有一个错误的 run:web 声明,缺少 $PORT。修复:
heroku.yml 必须有一个使用 $PORT 变量的网络声明:
build:
docker:
web: Dockerfile
run:
web: uvicorn main:app --reload --host 0.0.0.0 --port $PORT
然后我推到了heroku。
在那之后它必须添加了 web dyno,然后我可以运行:
heroku ps:scale web=1
现在 fastapi uvicorn 运行了。
答案 10 :(得分:0)
注意 Procfile 的命名和位置 (https://devcenter.heroku.com/articles/procfile) Procfile 始终是一个名为 Procfile 的“简单文本文件”,没有文件扩展名。(Procfile.txt 不可接受!)Procfile 必须存在于您的应用程序的根目录。如果放在其他地方,它就不起作用。