【问题标题】:Node.js OpenShift EACCESS errorNode.js OpenShift EACCESS 错误
【发布时间】:2014-08-17 20:55:28
【问题描述】:

我无法让应用正常启动,不断收到 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 变量的使用方式是正确的。

【问题讨论】:

    标签: javascript node.js socket.io openshift socket.io-1.0


    【解决方案1】:

    应该使用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);
    });
    

    【讨论】:

      猜你喜欢
      • 2014-01-25
      • 1970-01-01
      • 2017-05-11
      • 2021-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      相关资源
      最近更新 更多