0

我正在尝试在 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',errno:'EACCES',系统调用:'listen'}

请我解决这个问题。

这是新脚本

  //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(); 
}); 
});
4

2 回答 2

1

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

于 2014-02-28T13:58:26.327 回答
1

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

于 2014-02-28T13:47:22.253 回答