Heroku的Nodejs端口错误

时间:2011-10-31 00:29:01

标签: node.js heroku

我正在尝试将我的应用程序推送到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显示错误的绑定错误。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:8)

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

只需更改代码,使用正确的端口

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

答案 1 :(得分:5)

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

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