【问题标题】:Web process failed to bind to $PORT within 60 seconds of launch node.jsWeb 进程在启动 node.js 后 60 秒内无法绑定到 $PORT
【发布时间】:2014-03-15 09:01:35
【问题描述】:

我正在 heroku 上部署一个 node.js 应用程序。代码如下所示:

var port = process.env.PORT || 8080;
var ip_addr = "127.0.0.1";
server.listen(port, ip_addr, function() {
    console.log("%s listening at %s ", server.name, server.url);
});

我不知道为什么在启动 node.js 后 60 秒内 Web 进程无法绑定到 $PORT 错误。任何帮助将不胜感激。

【问题讨论】:

标签: node.js heroku


【解决方案1】:

我想这与明确 IP 地址有关。试着做 server.listen(port, function() { ... ?

【讨论】:

  • 谢谢!你说得对。我认为 heroku 试图在 url 0.0.0.0 处收听
  • 如果有人遇到同样的问题,对我来说,什么是 http.createServer(app).listen(process.env.PORT || 3000)(我是 usig express)
【解决方案2】:

我以为您正在部署到 Heroku。 Heroku 正在为应用程序环境分配一个随机端口。您可以像这样将这个随机端口带到您的代码中。

process.env.PORT

我曾经做过的示例代码在这里:

// production
config.port = process.env.PORT

app.listen(config.port, () => {
  logger.info('Listening on port %d', config.port);
});

【讨论】:

    猜你喜欢
    • 2013-03-19
    • 2019-07-12
    • 1970-01-01
    • 2021-02-19
    • 2021-09-08
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    相关资源
    最近更新 更多