我正在尝试在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();
});
});
答案 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环境变量。