【问题标题】:Nodejs port error with HerokuHeroku的Nodejs端口错误
【发布时间】:2012-04-30 20:48:53
【问题描述】:

我正在尝试将我的应用程序推送到 heroku,但我遇到了这个问题,我使用 process.env.PORT 变量使用正确的端口号,但我仍然收到以下错误消息:

heroku[web.1]:  Starting process with command `node app.js`
app[web.1]:     info  - socket.io started
app[web.1]: Express server listening on port 49559 in development mode
heroku[web.1]:  Error R11 (Bad bind) -> Process bound to port 10843, should be 49559 (see environment variable PORT)
heroku[web.1]:  Stopping process with SIGKILL
heroku[web.1]:  Process exited

您可以在此错误消息中看到应用程序正在使用正确的端口,但 heroku 仍然显示错误的绑定错误。任何帮助表示赞赏。

【问题讨论】:

  • 请发布您用于加载/设置端口的代码。
  • app.listen(process.env.PORT || 3000);

标签: node.js heroku


【解决方案1】:

Heroku will pass the port in a environment variable named PORT,表示您可以通过process.env访问它。

只需更改您的代码以使用正确的端口调用listen

var port = process.env.PORT || 3000;
app.listen(port);

【讨论】:

  • 谢谢,这对我的学习过程帮助很大!
【解决方案2】:

我确定您使用的是使用端口 10843 的闪存套接字,并且该端口不是分配给应用程序的端口,您需要设置:

io.configure(function () {
  io.set('transports', ['xhr-polling']);
  io.set("polling duration", 10); 
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-08
    • 2018-08-25
    • 2017-06-03
    • 2015-04-03
    • 2020-11-28
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多