在openshift中部署express js app

时间:2014-08-29 16:08:00

标签: javascript node.js express openshift

我正在尝试在openshift中部署expressjs应用程序。在我的app文件夹中,我复制了我的快递js应用程序文件夹。根据{{​​3}},在快递申请的app.js文件中,我添加了

app.set('port', 8080); 
app.set('ipaddr', "a.b.c.d");

另外,在package.json中,我设置了' main'键为app.js.我也将快递版改为4.8。在推送所有更改和节点模块后,当我点击我的网址时,它会显示

  

服务暂时不可用

     

由于服务器暂时无法为您的请求提供服务   维护停机或容量问题。请稍后再试。

有谁能告诉我我错过了什么?根据下面的错误日志,我认为服务器不在给定端口读取:

Error: listen EACCES
at errnoException (net.js:901:11)
at Server._listen2 (net.js:1020:19)
at listen (net.js:1061:10)
at Server.listen (net.js:1135:5)
at Object.<anonymous> (/var/lib/openshift/540091a45973ca08d9000732/app-root/runtime/repo/project1/app.js:18:8)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
DEBUG: Program node project1/app.js exited with code 8

我甚至将app.js更改为此

var server = http.createServer(app);

server.listen(process.env.OPENSHIFT_NODEJS_PORT || 8080);

// view engine setup
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs');
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080); 
app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1");

1 个答案:

答案 0 :(得分:0)

Okkk ......这就是我做错了......

我需要将现有的服务器监听代码替换为:

 server.listen( port, ipaddress, function() {
console.log((new Date()) + ' Server is listening on port 8080');
  });

在我的app.js