在Heroku上部署错误H14(没有运行Web进程)

时间:2012-07-10 02:30:29

标签: heroku cloud

我尝试在Heroku上创建简单的Java App。 我从http://samuelsharaf.wordpress.com/2011/11/06/create-a-simple-java-web-app-using-maven-and-upload-to-heroku/开始逐步完成它。

但是当我尝试在heroku项目上部署我的应用程序时,当我尝试查看日志时,我收到了错误信息

$ heroku logs -t
2012-07-10T02:15:14+00:00 heroku[slugc]: Slug compilation started
2012-07-10T02:15:27+00:00 heroku[api]: Add shared-database:5mb add-on by anwar@meruvian.org
2012-07-10T02:15:27+00:00 heroku[api]: Release v2 created by anwar@meruvian.org
2012-07-10T02:15:27+00:00 heroku[api]: Add MAVEN_OPTS, PATH, JAVA_OPTS config by anwar@meruvian.org
2012-07-10T02:15:27+00:00 heroku[api]: Release v3 created by anwar@meruvian.org
2012-07-10T02:15:28+00:00 heroku[api]: Release v4 created by anwar@meruvian.org
2012-07-10T02:15:28+00:00 heroku[api]: Deploy cb1cfa2 by anwar@meruvian.org
2012-07-10T02:15:28+00:00 heroku[web.1]: State changed from starting to down
2012-07-10T02:15:28+00:00 heroku[slugc]: Slug compilation finished
2012-07-10T02:16:51+00:00 heroku[router]: Error H14 (No web processes running) -> GET fierce-ocean-9944.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=

这是我在heroku上的网址:

http://fierce-ocean-9944.herokuapp.com/

那是什么错误?

如何解决这个问题?

由于

4 个答案:

答案 0 :(得分:20)

您是否尝试过缩放某种流程类型?例如heroku ps:scale web=1

或者更确切地说,使用'heroku ps'检查您当前的网页数量 见https://devcenter.heroku.com/articles/scaling

答案 1 :(得分:3)

我一直遇到同样的问题。示例python应用程序运行正常,但我没有。我登录仪表板,发现我的应用程序的网络动态计数显示为零。所以我在网上gui(即,拉伸滑块小部件,直到你得到一个非零计数。)并且这很有效。我的仪表板还显示了heroku ps:scale web = 1 dyno at zero,我将其保留为零。

答案 2 :(得分:1)

您需要删除ProcFile并再次添加

git rm ProcFile –f   

再次将ProcFile添加到项目 1)检查拼写 2)ProcFile的内容结构 3)ProcFile不应包含任何扩展名。

然后执行常规的git过程

git add . 

git commit –m “add procfile” 

git push heroku master 

您将看到

Procfile声明类型->网络

代替

Procfile声明类型->(无)

答案 3 :(得分:0)

如果您使用容器构建Web应用程序,请在项目的根目录中创建一个heroku.yaml文件,如下所示:

build:
docker:
    web: Dockerfile
run:
    web: [PUT YOUR CMD COMMAND IN DOCKERFILE HERE]

然后将heroku.yaml添加到git存储库。您可以删除Procfile(可选)。最后,按照以下步骤部署存储库:

git add .
git commit -m "Add heroku.yml"
heroku stack:set container -a [YOUR APP NAME]
git push heroku master

如果您是第一次推送至heroku,则应在heroku git:remote -a [YOUR APP NAME]之前运行git push heroku master