我从Open Shift PaaS开始,我选择了一个node.js应用程序作为我的第一次尝试.
到目前为止,当我尝试访问我的应用网站时,我得到了503.
我试过了:
设置我的github仓库,
在github上设置ssh键并使Open Shift拥有它,
用express创建了一个非常简单的应用程序(我用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,使用rhc进行git add,commit和push,重启应用程序.但它还没有奏效.
只要文件的内容准确描述了推荐的服务器初始化过程,您就可以根据需要为主脚本命名package.json
我写了一篇博文,概述了让Node.js项目在OpenShift上运行的两个主要步骤:
更新package.json
文件,记录服务器init进程(main,scripts.start).
调整代码以依赖环境变量来获取运行时配置详细信息:服务器IP,端口,域名,数据库密码和其他自定义令牌
确保在项目的README文件中记录首选部署过程