使用Open Shift PaaS部署nodejs应用程序

我从Open Shift PaaS开始,我select了一个node.js应用程序作为我的第一次尝试。

到目前为止,当我尝试访问我的应用程序网站时,我得到了一个503 。

我试过了:

  • 设置我的github回购,
  • 在github上设置ssh密钥,并打开Shift有它,
  • 创build了一个非常简单的应用程序使用快递(我确实由npm安装)
  • 确实提交并推送所有更改,
  • 我没有安装rhc并运行rhc app restart -a nodejs

但是我无法让它工作。

rhc tail -a nodejs输出:

 DEBUG: Error: Cannot find module '/var/lib/openshift/531be41fe0b8cd3d12000003/app-root/runtime/repo/server.js' at Function._resolveFilename (module.js:337:11) at Function._load (module.js:279:25) at Array.0 (module.js:484:10) at EventEmitter._tickCallback (node.js:190:38) DEBUG: Program node server.js exited with code 1 DEBUG: Starting child process with 'node server.js' 

这是我的app.js文件:

 var express = require('express') var server = new express() server.use(express.static(__dirname+"/public")) server.get('/', function (request, response) { response.send(200) }) server.listen(process.env.OPENSHIFT_NODEJS_PORT || 80) 

编辑

我已经将app.js重命名为server.js,git添加,提交和推送,用rhc重新启动应用程序。 但它仍然没有工作。

只要package.json文件的内容准确地描述了推荐的服务器init进程 ,就可以随意命名主脚本

我写了一篇博客文章,概述了让您的Node.js项目在OpenShift上运行的两个主要步骤 :

  1. 更新你的package.json文件,logging你的服务器init进程(main,scripts.start) 。
  2. 调整您的代码以依赖环境variables获取运行时configuration详细信息 :服务器IP,端口,域名,db密码和其他自定义标记

确保在项目的自述文件中logging您首选的部署过程