Cloud Foundry:ERR在1m0s后超时:健康检查从未通过

时间:2016-02-07 11:52:55

标签: pivotal-cloud-foundry pivotal-web-services

将我的应用部署到云代工厂后,收到以下错误消息: ERR Timed out after 1m0s: health check never passed. 当然在我的本地机器上工作得很好。

3 个答案:

答案 0 :(得分:18)

您应该更改您的健康检查类型。 如果应用程序未公开Web界面,则需要将healthcheck类型更改为process。 有效值为portprocesshttp

  

要在创建或更新应用程序时配置运行状况检查,请使用cf push命令:

     

$ cf push YOUR-APP -u process

有关详细信息,请参阅运行状况检查文档: https://docs.cloudfoundry.org/devguide/deploy-apps/healthchecks.html

答案 1 :(得分:6)

根据评论中的讨论以及我对您正在部署的实际应用程序的测试,看起来这个特定的应用程序需要一个年龄才能开始。可能与单个Java服务超时有关(因为您没有将任何CF服务绑定到应用程序)。

无论如何,虽然我不确定实际问题是什么(可能是PWS本身的一个问题),但这可以通过在执行推送时指定-t选项来解决,或者将timeout: <int>属性添加到清单(请参阅manifest文档。

OLD ANSWER

需要更多详细信息,但我想有两件事情中的一件发生:

  • 您没有使用正确的端口。 Cloud Foundry公开了它希望使用PORT(或pre-Diego,VCAP_APP_PORT)环境变量部署应用程序的端口。默认为8080,因此如果您的应用程序未在8080上侦听(或绑定到127.0.0.1而不是0.0.0.0),则运行状况检查将失败。
  • 您的应用程序不公开任何API端点,并且应该使用CF上的--no-route选项进行部署,并且(从Diego开始)需要对其执行cf set-health-check [app-name]。只有在您的申请真的不需要健康检查时才能这样做。

有些构建包可以自动为您处理第一个构建包。您使用的是哪个构建包?或者,您使用的是哪种语言?

答案 2 :(得分:0)

您可以使用以下命令禁用运行状况 (短期解决方案)

cf push app_name -p target/app.jar -u none