heroku中的H14错误 - "没有运行的Web进程"

Ron*_*les 25 html python django heroku web-deployment

错误H14在部署到heroku时发生这是我的procfile:

web: gunicorn -w 4 -b 0.0.0.0:$PORT -k gevent main:app
Run Code Online (Sandbox Code Playgroud)

登录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=
Run Code Online (Sandbox Code Playgroud)

要求:

Flask==0.11.1
passlib==1.7.0
SQLAlchemy==1.1.5
Werkzeug==0.11.15
gunicorn==19.0.0
gevent==1.2.1
Run Code Online (Sandbox Code Playgroud)

rde*_*ges 49

这里的问题是你没有运行任何网络动态.您可以通过以下方式告诉Heroku:

$ heroku ps:scale web=1
Run Code Online (Sandbox Code Playgroud)

这将迫使Heroku旋转web dyno,从而执行你的gunicorn命令.

  • 缩放测功机...!▸ 找不到该流程类型 (web)。 (44认同)
  • 我应该把它写在procfile中吗? (7认同)
  • 惊人的!我在放入格式错误的 procfile 然后更正后触发了这个问题 (3认同)
  • (啊好吧,缺少一个 Procfile ——非常令人困惑,除非你使用他们的示例代码) (2认同)

Yaa*_*ler 26

经过 3 个小时的调试,我已经弄清楚我的应用程序导致此错误的原因:

  1. 我的Procfile大小写不正确
  2. gunicorn 没有安装在我的 venv

IMO,这个错误应该在 Heroku 结束时提出。作为初学者,这种错误很难追踪。

更多关于dyno 配置的信息——更多关于初始化你的heroku 应用程序

  • 需要澄清的是,“Procfile”的大小写正确,而“procfile”的大小写**不**正确。它应该以大写 P 开头。 (2认同)

小智 21

我遇到了同样的问题,但原因不同。我有爱好层,但后来取消了它并恢复到免费层。这样做会导致错误,我修复它的方法只是从 cli 重新运行命令:

heroku ps:scale web=1
Run Code Online (Sandbox Code Playgroud)

  • 运行此命令时出现错误..`缩放测功机...!找不到该流程类型(网络)。` (6认同)

小智 11

在此命令之前:

heroku ps:scale web=1
Run Code Online (Sandbox Code Playgroud)

我不得不再次删除并添加 buildpack,然后清空提交并将其重新部署到 heroku。

heroku buildpacks:clear
heroku buildpacks:add --index heroku/python
Run Code Online (Sandbox Code Playgroud)


小智 11

我的问题是 Heroku 删除了免费计划。要解决此类问题,请转到 Heroku 并选择/更改您的免费计划,例如“eco”计划。


小智 7

我这里也有问题。我的问题是我的 Procfile 是 "Procfile.txt" 。解决我的问题的是从 Procfile 中删除文件扩展名,然后重新提交并将内容推送到 heroku


小智 7

这不是您的代码的问题,但我已经多次收到此错误消息,并且我所犯的错误导致它一直在编写

web:gunicorn
Run Code Online (Sandbox Code Playgroud)

代替

web: gunicorn
Run Code Online (Sandbox Code Playgroud)

这个空间确实会引起很多问题。


Gar*_*lor 7

我有一个仅在客户端开发期间启用的 UAT 版本。

我有一个自定义的测功脚本,但它已变成免费版本。所以应用程序没有启动,因为我的脚本没有运行。当我启用 Dyno 时,开关仍然处于关闭状态:rolleyes:

在此输入图像描述


小智 5

  • 登录到您的 Heroku 仪表板并打开您的项目。
  • 前往设置。
  • heroku/python从构建包列表中删除
  • 然后单击添加 buildpack ? 选择“Python”?保存更改。
  • 在您的代码中激活您的环境。
  • 运行heroku ps:scale web=1

你完成了!

  • 在代码中激活环境是什么意思? (6认同)