我有一個我想部署到Heroku的Scala應用程序(http4s with Jetty)。我也跟着上https://devcenter.heroku.com/articles/getting-started-with-scala的指示,有這個作爲我Procfile:Scala應用程序在Heroku上得到「應用程序啓動超時」
網:目標/通用/臺/箱/ myappname
我建立使用的應用程序與SBT-本機打包和運行SBT sbt compile stage
。在我的本地機器上,當我運行target/universal/stage/bin/myappname
我可以用下面的日誌成功啓動Jetty服務器:
開始在端口4000
[主] INFO org.eclipse.jetty.util.log - 記錄初始化@ 285ms
[main] INFO org.eclipse.jetty.server.Server - jetty-9.2.3.v20140905
[main] INFO org.eclipse.jetty.server.handler.ContextHandler - 已啓動oejsServletContextHandler @ 45c5082a {/,null ,AVAILABLE}
[main] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector @ 30ec6243 {HTTP/1.1} {127.0.0.1:4000}
[主] INFO org.eclipse.jetty.server.Server - 入門@ 421ms
在Heroku我也得到了日誌Jetty服務器啓動,但還額外超時行之後:
2014-11-22T19:27:53.648838 + 00:00 heroku [web.1]:用命令`target/universal/stage/bin/myappname`啓動進程
2014-11-22T19:27:54.967288 + 00:00 app [web.1]:選取JAVA_TOOL_OPTIONS:-Xmx384m -Djava.rmi.server.useCodebaseOnly = true
2014-11-22T19:27:55.495116 + 00:00 app [web.1]:從端口36115開始
2014-11-22T19:27:55.761411 + 00:00 app [web.1]:[main] INFO org.eclipse.jetty.util.log - 記錄初始化@ 645ms
2014-11-22T19:27:56.032766 +00:00 app [web.1]:[main] INFO org.eclipse.jetty.server.handler.ContextHandler - 已啓動oejsServletContextHandler @ 397f0e73 {/,null,AVAILABLE}
2014-11-22T19:27:55.962916 +00:00 app [web.1]:[main] INFO org.eclipse.jetty.server.Server - jetty-9.2.3.v20140905
2014-11-22T19:27:56.055280 + 00:00 app [web .1]:[main] INFO org.eclipse.jetty.server.Server - Started @ 967ms
2014-11-22T19:27:56.055064 + 00:00 app [web.1]:[main] INFO org.eclipse .jetty.server.ServerConnector - 已啓動ServerConnector @ 1df3b191 {HTTP/1.1} {127.0.0.1:36115}
2014- 11-22T19:28:07.147193 + 00:00 heroku [router]:at = error code = H20 desc =「App boot timeout」method = GET path =「/」host = myappname.herokuapp.com request_id = c05b5bf6-6268- 4c37-8525-4e58c1bda496 FWD = 「24.4.136.119」 DYNO =連接=服務=狀態= 503個字節=
什麼是我的應用程序還沒有開始說的Heroku應用程序啓動超時的原因是什麼?提前致謝。
對於我來說,改變'BlazeBuilder.bindHttp(Properties.envOrElse( 「PORT」, 「8080」)。toInt)''來BlazeBuilder.bindHttp (Properties.envOrElse(「PORT」,「8080」)toInt,「0.0.0.0」)'解決了這個問題(我使用Blaze後端代替Jetty,但它應該沒有區別)。 – 2015-11-13 13:41:34