我正在关注WebSockets Spark教程(https://sparktutorials.github.io/2015/11/08/spark-websocket-chat)并且我成功地构建了&使用免费帐户(免费dyno)和本教程(https://sparktutorials.github.io/2015/08/24/spark-heroku)在heroku中部署。
它在localhost中工作正常但在heroku中我得到应用程序错误或代码= H10。
这些是日志。
2016-10-03T01:56:27.735673+00:00 app[web.1]: [Thread-0] INFO >spark.embeddedserver.jetty.EmbeddedJettyServer - >> Listening on 0.0.0.0:4567
2016-10-03T01:56:27.737870+00:00 app[web.1]: [Thread-0] INFO org.eclipse.jetty.server.Server - jetty-9.3.z-SNAPSHOT
2016-10-03T01:56:27.787960+00:00 app[web.1]: [Thread-0] INFO org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@39939950{/,null,AVAILABLE}
2016-10-03T01:56:27.804573+00:00 app[web.1]: [Thread-0] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector@3d87d5f9{HTTP/1.1,[http/1.1]}{0.0.0.0:4567}
2016-10-03T01:56:27.804799+00:00 app[web.1]: [Thread-0] INFO org.eclipse.jetty.server.Server - Started @441ms
2016-10-03T01:57:55.846764+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2016-10-03T01:57:55.846764+00:00 heroku[web.1]: Stopping process with SIGKILL
2016-10-03T01:57:55.955110+00:00 heroku[web.1]: Process exited with status 137
2016-10-03T01:57:55.964711+00:00 heroku[web.1]: State changed from starting to crashed
2016-10-03T06:29:08.525497+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=chatroom-herroku-example.herokuapp.com request_id=d5c85d5e-8e8e-4f14-b2b1-f4522ac671dc fwd="125.60.156.205" dyno= connect= service= status=503 bytes=
2016-10-03T06:29:11.463550+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=chatroom-herroku-example.herokuapp.com request_id=b697c22b-1b0c-47cb-9b08-d809b7627802 fwd="125.60.156.205" dyno= connect= service= status=503 bytes=
2016-10-03T07:03:55.810509+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=chatroom-herroku-example.herokuapp.com request_id=e2bcd981-974d-442a-949f-a4d97d7c60c3 fwd="125.60.156.205" dyno= connect= service= status=503 bytes=
2016-10-03T07:03:57.067606+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=chatroom-herroku-example.herokuapp.com request_id=a9ff3396-225e-4901-a1ae-cf6357c2f89a fwd="125.60.156.205" dyno= connect= service= status=503 bytes=
答案 0 :(得分:5)
看起来像R10 Error Boot Timeout
。由于应用程序无法访问外部资源(如数据库)而发生此错误。
我会仔细检查您的数据库连接,因为此错误可能是由于数据库连接配置不正确造成的。
您是否使用Heroku的附加组件设置了数据库连接?如果没有,您将必须配置数据库以修复错误。 mLab是一个免费选项,但还有很多其他选项。我将尝试向您介绍如何执行此操作的示例。
导航到您的Heroku应用程序的仪表板。单击“资源”。在附加组件搜索框中,键入您要配置的数据库服务。如果您选择mLab,它将带您进入mLab GUI。您的URI连接字符串位于屏幕顶部。 (您想选择标有“驱动程序”的那个。)单击屏幕中下部的“添加用户”选项卡。添加用户名和密码。保存。之后,复制上面的URI连接字符串,然后导航回仪表板。点击“设置”,显示config vars
。现在将URI连接字符串粘贴到文本框中,然后添加新创建的用户凭据以替换<username> and <password>
字段。复制配置变量MONGODB_URI
。接下来,在命令行上set
或export
MONGODB_URI
环境变量。最后,在您的应用程序中,导航到启动服务器的位置,然后使用MONGODB_URI
替换与本地主机数据库的连接,例如process.env.MONGODB_URI
。接下来,Add, commit, push to master then to Heroku
。 R10 error
应该消失了。如果不是,请参阅下面的链接。
尝试添加此Heroku Forward
你的procfile中有什么?
在那里输入:web: bundle exec thin start -p $PORT
另外,请参阅有关R10错误解决方案的THIS堆栈溢出答案。