【问题标题】:Heroku app timeout on boot (R10) - NodeJsHeroku 应用程序启动超时 (R10) - NodeJs
【发布时间】:2018-10-13 06:37:19
【问题描述】:

我正在使用 process.env.PORT,并显示在日志中(见下文,localhost:40170,每次运行应用程序时都会更改)。此外,加载时间很快(10 秒),因为我没有在节点启动中运行任何构建过程。运行 heroku local 可以正常运行应用程序。请帮我找出可能导致此问题的原因。

这是日志:

2018-05-03T02:37:04.505544+00:00 app[web.1]: loading routes from ./modules/user.login/auth.routes.js... 2018-05-03T02:37:04.526922+00:00 app[web.1]: loading routes from ./modules/user.login/login.routes.js... 2018-05-03T02:37:04.531738+00:00 app[web.1]: loading routes from ./modules/feature.clientes/clientes.crud.routes.js... 2018-05-03T02:37:04.542719+00:00 app[web.1]: loading routes from ./modules/feature.contratos/contratos.crud.routes.js... 2018-05-03T02:37:04.552200+00:00 app[web.1]: loading routes from ./modules/feature.servicos/servicos.crud.routes.js... 2018-05-03T02:37:04.601525+00:00 app[web.1]: Server running at: http://localhost:40170 2018-05-03T02:38:01.800290+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 2018-05-03T02:38:01.800290+00:00 heroku[web.1]: Stopping process with SIGKILL 2018-05-03T02:38:01.899194+00:00 heroku[web.1]: Process exited with status 137 2018-05-03T02:38:01.940085+00:00 heroku[web.1]: State changed from starting to crashed

【问题讨论】:

  • @Paul 猜对了!感谢您的提示,将尝试并报告
  • @保罗宾果游戏!我的机器上全局安装了 2 个软件包。如果你想回答它,我会标记为正确

标签: node.js heroku hapijs


【解决方案1】:

解决了:除了Paul's answer,还有别的东西。

我已将我的 Hapi 服务器的 host 选项从 '0.0.0.0' 更改为 'localhost'(可能是因为它没有在本地运行)。根据Hapi's API reference,这是自动完成的——首先尝试机器名,然后尝试“localhost”。

因此,只需删除该设置即可解决问题。现在 Heroku 记录如下内容:Server running at: http://243c893-1ec-48d-bdc4-2ba08a3d59:55296

【讨论】:

    【解决方案2】:
    This seems to be happen as because heroku sets dynamic port at which your app runs, as you are using PORT from env you need to add PORT in heroku config vars. Just got through heroku app => settings => view config vars => Add PORT <your port number example 5000> in it.
    

    【讨论】:

    • 我不认为这是问题所在,env.PORT 被完全使用,因此他们可以选择哪个是最好的端口。他们在环境中设置它,我的代码使用它
    【解决方案3】:

    不看你的一些代码就不可能知道。如果我不得不猜测,您在本地满足的依赖项是您在服务器上不满足的,例如 DH 连接,或者您可能未能在您本地安装的 package.json 中包含一个模块(例如全局安装)

    【讨论】:

    • 实际上...不,它没有用。或者,至少,还有更多的东西。这防止了一些消息错误,但服务器仍然崩溃。与此同时,我还从头开始创建了一个新的虚拟机,安装了 node 和 git,克隆了它,npm 安装了它,npm 启动了它,它运行得很好。于是我又陷入了死胡同
    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 2012-05-15
    • 2015-08-15
    • 2019-09-07
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    相关资源
    最近更新 更多