OpenShift node.js错误:听EACCES

Eth*_*gue 12 port node.js socket.io openshift

我一直在使用带有node.js和socket.io的OpenShift.我的代码是:

server.listen(process.end.OPENSHIFT_NODEJS_PORT || 3000);
Run Code Online (Sandbox Code Playgroud)

我的代码说它返回端口8080.但是,我收到此错误:

 DEBUG: Starting child process with 'node server.is'
 Info: socket.io started
 warn:error raised: Error: listen EACCES
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?我找不到其他解决方案.

小智 32

您还需要指定在侦听中绑定到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');
});
Run Code Online (Sandbox Code Playgroud)

  • 如果你使用sailsjs然后使用主机而不是ipaddress (2认同)