OpenShift上的nodejs错误

时间:2014-02-28 13:11:51

标签: node.js openshift deployd

我正在尝试在OpenShift SSH终端上运行以下脚本

var deployd = require('deployd');

var server = deployd({
  port: process.env.PORT || 5000,
  env: 'production',
  db: {
    host: 'ds030607.mongolab.com',
    port: '30607',
    name: 'kheapdata',
    credentials: {
      username: 'admin',
      password: 'admin'
    }
  }
});

server.listen();

server.on('listening', function() {
  console.log("Server is listening");
});

server.on('error', function(err) {
  console.error(err);
  process.nextTick(function() { // Give the server a chance to return an error
    process.exit();
  });
});

喜欢这个节点production.js但是这个错误

{[错误:听EACCES]代码:' EACCES',错误:' EACCES',系统调用:'听' }

请我解决这个问题。

这是新脚本

  //production.js 
var deployd = require('deployd');

    var server = deployd({ 
// port: process.env.PORT || 5000, 
env: 'production', 
db: { host: '127.5.233.2', 
port: '27017', 
name: 'test', 
credentials: { username: 'admin', password: '4mA51PDYnL89' } } });

    server.listen('8080','127.5.233.1');

    server.on('listening', function() { console.log("Server is listening"); });

    server.on('error', function(err) { console.error(err); process.nextTick(function() { 
// Give the server a chance to return an error 
process.exit(); 
}); 
});

2 个答案:

答案 0 :(得分:1)

看起来你正在使用错误的env变量port: process.env.PORT || 5000。尝试搜索你的装备并运行env以找到正确的环境变量。由于看起来您正在尝试连接到mongo,请尝试在您的设备中运行env | grep -i mongo

答案 1 :(得分:1)

看起来你需要绑定到process.env.OPENSHIFT_NODEJS_IP和process.env.OPENSHIFT_NODEJS_PORT,看起来你的脚本试图绑定到0.0.0.0这是不允许的,也可能是错误的端口。看起来您正在连接到外部mongodb服务,因此您的设备中不会有任何mongo环境变量。