我无法让应用程序正常启动,不断出现 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 的 Node 变量以正确的方式使用。
最佳答案
应该使用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);
});
关于javascript - Node.js OpenShift EACCESS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440102/