端口超时将Loopback应用程序部署到Heroku

时间:2015-10-26 19:43:12

标签: node.js express heroku crash loopbackjs

我将一个Loopback应用程序部署到Heroku,但它一直崩溃并出现错误

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'));
  });
};

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

2 个答案:

答案 0 :(得分:1)

您可以通过修改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'));
  });
};

答案 1 :(得分:0)

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

Heroku app environment variables