Node.js OpenShift EACCESS错误

我不能让应用程序正常启动,不断得到EACCESS错误:

Error: listen EACCES 

代码如下:

 var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080 var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' var app = require('express')(); var server = require('http').Server(app); var io = require('socket.io')(server); server.listen(server_port); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); io.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 

这里没什么特别的,OpenShift的Nodevariables是以正确的方式使用的。

应该使用server_ip_address。 否则,它将在OpenShift上使用默认IP,即127.0.0.1。 从:

 server.listen(server_port); 

至:

 server.listen(server_port, server_ip_address); 

要么

 server.listen(server_port, server_ip_address, function() { console.log('%s: Node server started on %s:%d ...', new Date(), server_ip_address, server_port); });