【问题标题】:Port timeout deploying Loopback app to Heroku将 Loopback 应用程序部署到 Heroku 的端口超时
【发布时间】:2016-01-26 01:19:30
【问题描述】:

我向 Heroku 部署了一个 Loopback 应用程序,但它总是因错误而崩溃

Web process failed to bind to $PORT within 60 seconds of launch

我知道它可以连接到 Heroku 的动态端口,所以我将我的端口设置为进程环境一做

app.start = function () {
  // start the web server

  var port = process.env.PORT || 3000;

  app.set('port', port);

  app.use(loopback.static(path.resolve(__dirname, '../client')));
  app.use(loopback.static(path.resolve(__dirname, '../.tmp')));

  return app.listen(function () {
    app.emit('started');
    console.log('Web server listening at: %s', app.get('url'));
  });
};

但这并没有解决问题。
有什么想法吗?

【问题讨论】:

  • 你没有绑定任何端口。试试app.listen(app.get('port'), ...)

标签: node.js express heroku crash loopbackjs


【解决方案1】:

我遇到了同样的问题。我通过在我的 Heroku 应用程序中添加环境变量 HOST=0.0.0.0 解决了这个问题。

【讨论】:

    【解决方案2】:

    您可以通过修改documentation 中提供的代码来强制 Heroku 使用提供的端口。如果您无法与 api 文档相关联,请不要担心,因为 javascript 很灵活。

    app.start = function () {
      // start the web server
    
      var port = process.env.PORT || 3000;
    
      app.use(loopback.static(path.resolve(__dirname, '../client')));
      app.use(loopback.static(path.resolve(__dirname, '../.tmp')));
    
      return app.listen(port, function () {
        app.emit('started');
        console.log('Web server listening at: %s', app.get('url'));
      });
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-08
      • 2012-07-16
      • 1970-01-01
      • 2012-11-22
      • 2015-12-25
      • 2015-02-27
      • 2018-04-06
      相关资源
      最近更新 更多