【问题标题】:Deploying nodejs app with Open Shift PaaS使用 Open Shift PaaS 部署 nodejs 应用程序
【发布时间】:2014-04-12 08:13:13
【问题描述】:

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

到目前为止,当我尝试访问我的应用网站时,我收到了 503

我试过了:

  • 设置我的 github 仓库,
  • 在 github 上设置 ssh 密钥,让 Open Shift 拥有它,
  • 使用 express 创建了一个非常简单的应用程序(我确实通过 npm 安装了 express)
  • 确实提交并推送了所有更改,
  • 我确实安装了 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 add、commit 和 push,并使用 rhc 重新启动了应用程序。但它还没有工作。

【问题讨论】:

    标签: node.js express openshift paas


    【解决方案1】:

    【讨论】:

    • 我会重新开始。老实说,我首先对我的应用程序进行了非常简单的配置。我什至没有package.json 文件。
    • 我有一个问题,如果我已经在 openshift 网页界面上创建了应用程序,该怎么办?重写package.json、npm 安装和启动以及为以后的 rhc 重新启动执行正确的 git 命令会使其工作吗?
    • 我会考虑从已知良好的状态开始。 vanilla nodejs 购物车将自动提供一个基本的“hello world”示例应用程序。这就是你不提供任何初始来源时得到的结果。
    • 您也可以从quickstart 或示例应用开始,然后从那里进行编辑。
    • 回答您的问题:是的,在解决这两个问题后,添加并提交您的更改,并将更改集推送到 OpenShift;您应该能够让您当前的托管应用程序正常工作。验证更改后,您还可以将它们推送回您在 GitHub 上的存储库,使该存储库与 OpenShift 兼容,并且可以从 OpenShift 的 Web 界面立即启动(无需 503 或下次需要更改)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多