2014-01-07 77 views
11

我一直在使用OpenShift与node.js和socket.io。我的代码是:OpenShift node.js错误:侦听EACCES

server.listen(process.end.OPENSHIFT_NODEJS_PORT || 3000); 

我的代码表示,它返回端口8080 不过,我得到这个错误:

DEBUG: Starting child process with 'node server.is' 
Info: socket.io started 
warn:error raised: Error: listen EACCES 

我该如何解决这个问题? 没有其他的解决方案,我可以找到作品。

回答

31

您还需要指定绑定到您的监听中的OPENSHIFT_NODEJS_IP,因为它默认情况下试图绑定到0.0.0.0,这是不允许的。

喜欢的东西:

var ipaddress = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"; 
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080; 
server.listen(port, ipaddress, function() { 
    console.log((new Date()) + ' Server is listening on port 8080'); 
}); 
+0

谢谢。我碰巧在其他地方发现了这一点,并且即将在此处发布该解决方案。 –

+2

如果你使用的是sailsjs,那么代替ipaddress使用主机 –