node.js - Heroku 中发现应用程序错误

标签 node.js heroku

我第一次在 Heroku 中托管我的应用程序。它可以在我的本地主机上运行,​​但是当我将其托管在 Heroku 上时,它会给出应用程序错误:应用程序中发生错误,无法提供您的页面。请稍后重试。如果您是应用程序所有者,请检查您的日志以了解详细信息。我检查我的日志,日志是:

  $ heroku logs --app peaceful-wildwood-9840
  ←[36m2014-06-08T18:48:05.660654+00:00 heroku[api]:←[0m Enable Logplex by aminayo
 usuf_13@hotmail.com
  ←[36m2014-06-08T18:48:05.660736+00:00 heroku[api]:←[0m Release v2 created by ami
  nayousuf_13@hotmail.com
  ←[33m2014-06-08T18:49:27+00:00 heroku[slug-compiler]:←[0m Slug compilation start
  ed
  ←[36m2014-06-08T18:49:33.638541+00:00 heroku[api]:←[0m Deploy 2ab14e4 by aminayo
 usuf_13@hotmail.com
  ←[36m2014-06-08T18:49:33.511107+00:00 heroku[api]:←[0m Scale to web=1 by aminayo
  usuf_13@hotmail.com
  ←[36m2014-06-08T18:49:33.638621+00:00 heroku[api]:←[0m Release v3 created by ami
  nayousuf_13@hotmail.com
  ←[33m2014-06-08T18:49:33+00:00 heroku[slug-compiler]:←[0m Slug compilation finis
 hed
   ←[32m2014-06-08T18:49:36.203628+00:00 app[web.1]:←[0m Listening to Port : 3033..
 .  
   ←[32m2014-06-08T18:49:35.293036+00:00 heroku[web.1]:←[0m Starting process with c
  ommand `node server.js`
  ←[32m2014-06-08T18:50:37.170068+00:00 heroku[web.1]:←[0m State changed from star
  ting to crashed
  ←[32m2014-06-08T18:50:37.170632+00:00 heroku[web.1]:←[0m State changed from cras  
  hed to starting
  ←[32m2014-06-08T18:50:39.419734+00:00 app[web.1]:←[0m Listening to Port : 3033..
 .
 ←[32m2014-06-08T18:50:35.901399+00:00 heroku[web.1]:←[0m Error R10 (Boot timeout )
 -> Web process failed to bind to $PORT within 60 seconds of launch
 ←[32m2014-06-08T18:50:35.901708+00:00 heroku[web.1]:←[0m Stopping process with S  
 IGKILL
  ←[32m2014-06-08T18:50:37.165375+00:00 heroku[web.1]:←[0m Process exited with sta
  tus 137
  ←[32m2014-06-08T18:50:38.558505+00:00 heroku[web.1]:←[0m Starting process with c
  ommand `node server.js`
  ←[35m2014-06-08T18:51:20.593335+00:00 heroku[router]:←[0m at=error code=H20 desc
 ="App boot timeout" method=GET path=/ host=peaceful-wildwood-9840.herokuapp.com
  request_id=aabed091-9c41-4639-9069-c02f8dd71503 fwd="39.48.218.219" dyno= connec 
  t= service= status=503 bytes=
   ←[35m2014-06-08T18:51:32.899300+00:00 heroku[router]:←[0m at=error code=H20 desc
    ="App boot timeout" method=GET path=/ host=peaceful-wildwood-9840.herokuapp.com
    request_id=db181007-c7dd-47ba-a42f-91def32077df fwd="39.48.218.219" dyno= connec
   t= service= status=503 bytes=
  ←[32m2014-06-08T18:51:39.895529+00:00 heroku[web.1]:←[0m State changed from star  
  ting to crashed
  ←[35m2014-06-08T18:51:40.797283+00:00 heroku[router]:←[0m at=error code=H10 desc
 ="App crashed" method=GET path=/favicon.ico host=peaceful-wildwood-9840.herokuap
  p.com request_id=e63e5ee2-b04e-4b13-8e61-77d1f4f4600b fwd="39.48.218.219" dyno=   
  connect= service= status=503 bytes=
  ←[35m2014-06-08T18:51:40.926423+00:00 heroku[router]:←[0m at=error code=H10 desc
  ="App crashed" method=GET path=/ host=peaceful-wildwood-9840.herokuapp.com reque
  st_id=88b77ad4-7547-4b41-b6c8-b820a38284b5 fwd="39.48.218.219" dyno= connect= se
 rvice= status=503 bytes=
  ←[35m2014-06-08T18:51:42.930361+00:00 heroku[router]:←[0m at=error code=H10 desc
 ="App crashed" method=GET path=/favicon.ico host=peaceful-wildwood-9840.herokuap
 p.com request_id=010dcdf3-e68a-47bb-a821-6dd5613b14ce fwd="39.48.218.219" dyno=
  connect= service= status=503 bytes =
  ←[32m2014-06-08T18:51:39.887550+00:00 heroku[web.1]:←[0m Process exited with sta
 tus 137
  ←[32m2014-06-08T18:51:38.819255+00:00 heroku[web.1]:←[0m Error R10 (Boot timeout
 ) -> Web process failed to bind to $PORT within 60 seconds of launch
 ←[32m2014-06-08T18:51:38.819499+00:00 heroku[web.1]:←[0m Stopping process with S
   IGKILL
 ←[35m2014-06-08T18:51:52.977231+00:00 heroku[router]:←[0m at=error code=H10 desc
 ="App crashed" method=GET path=/favicon.ico host=peaceful-wildwood-9840.herokuap
 p.com request_id=2ea71012-34e4-4361-9e04-9a1ae91716fa fwd="39.48.218.219" dyno=
 connect= service= status=503 bytes=
 ←[35m2014-06-08T18:56:28.116367+00:00 heroku[router]:←[0m at=error code=H10 desc
 ="App crashed" method=GET path=/ host=peaceful-wildwood-9840.herokuapp.com reque
  st_id=597301b8-8be8-46f0-96a9-43bb5425395a fwd="39.48.218.219" dyno= connect= se
 rvice= status=503 bytes=

最佳答案

如上所示的错误是错误 R10(启动超时) -> Web 进程未能在启动后 60 秒内绑定(bind)到 $PORT。我能想到可能导致这种情况的两件事:

  • 您的启动需要很长时间 - 例如,您在启动时调用外部网络服务。
  • 或者您没有监听正确的端口,因此您永远无法绑定(bind)到正确的端口。

我猜这是第二个?您使用什么端口号?你做这样的事吗? var port = Number(process.env.PORT || 5000);

关于node.js - Heroku 中发现应用程序错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24115022/

相关文章:

javascript - javascript回调是原子的吗

javascript - 如何在此node.js应用程序的警报中获取err.message?

node.js - 无法使用 Express 4 路由器获取 Content-Type header

node.js - 从 Heroku 服务器删除上传的文件

heroku - 在heroku pgbackups上获取 'backup not found'

mysql - 出现 'Duplicate entry' 错误,即使我正在使用 ON DUPLICATE KEY UPDATE

Node.JS:不保持进程运行的setTimeout

javascript - 如何在主页标题中添加按钮链接,但与其他页面不同?

ruby-on-rails - 不会为 Heroku 设置 Figaro 环境变量

node.js - 将 Heroku 插件 mongolab 与 Node.js 结合使用