使用Open Shift PaaS部署nodejs应用程序 [英] Deploying nodejs app with Open Shift PaaS
问题描述
我从开放式PaaS开始,我选择了一个node.js应用程序作为我的第一次尝试。
I'm starting with Open Shift PaaS and I picked a node.js app as my first try.
到目前为止,我得到一个 503 当我尝试访问我的应用程序网站。
So far I'm getting a 503 when I try to access my app site.
我已经尝试过:
- 设置我的github repo,
- 在github设置ssh密钥,打开Shift有它,
- 创建了一个非常简单的应用程序,使用express(我安装了由npm安装)
- 提交并推送所有更改, / li>
- 我安装了rhc并运行
rhc app restart -a nodejs
- Set my github repo,
- set the ssh key at github and made Open Shift have it,
- created a very simple app using express (I did install express by npm)
- did commit and pushed all changes,
- I did install rhc and ran
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)
编辑
/ strong>
EDIT
我已经将app.js重命名为server.js,git添加,提交和推送,重新启动了rhc 。但是它还没有工作。
I've renamed app.js to server.js, did git add, commit and push, restarted app with rhc. but it's not working yet though.
推荐答案
您可以为主要脚本命名任何你想要的,只要您的 package.json
文件的内容准确描述您推荐的服务器初始化过程
You can name your main script whatever you want, as long as the contents of your package.json
file accurately describes your recommended server init process
我已经写了一篇博客文章,概述了让您的Node.js项目在OpenShift上运行的两个主要步骤:
I've written up a blog post that outlines the two main steps for getting your Node.js project to run on OpenShift:
- 更新您的
package.json
文件,记录您的服务器init进程(main,scripts.start)。 li>
- 适应哟ur代码依赖于运行时配置详细信息的环境变量:服务器IP,端口,域名,数据库密码和其他自定义令牌
- Update your
package.json
file, documenting your server init process (main, scripts.start). - Adapt your code to rely on environment variables for runtime configuration details: server ip, port, domain name, db passwords, and other custom tokens
这篇关于使用Open Shift PaaS部署nodejs应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!