重新启动时Openshift节点应用程序错误

Openshift node app error when restarting

我有一个 node/socket.io 聊天应用程序托管在 openshift 上,如果我 ssh 进入服务器并执行 "node main.js"(其中 main.js 是服务器脚本,它会正确启动开始聊天),我无法通过网络界面在服务器上启动应用程序,它会自动继续;如果我只是通过 ssh 启动应用程序,它会在我退出终端后立即停止工作。

我在通过 Web 界面启动应用程序时遇到此错误:

    Starting Node.js application...
    Application is already stopped.
    Warning! Could not start Node.js application!
    Failed to execute: 'control restart' for /var/lib/openshift/57003fbe7628e1491d00011e/nodejs

如果相关,我的 package.json 文件是

{
  "name": "rainychat",
  "version": "1.0.0",
  "description": "rainychat, my chat app",
  "main": "main.js",
  "dependencies": {
    "express": "^4.13.4",
    "socket.io": "^1.4.5",
    "validator": "^5.1.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "JG",
  "license": "ISC"
}

在这里您可以看到 ftp 应用程序的文件:

我无法解读该错误的含义...

我的main.js代码

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

app.get('/', function (req, res) {
    res.sendFile(__dirname + '/chat.html'); // /home/redadmin/public_html/rainychat.com
    console.log('enviado');
});

app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 8080);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');

http.listen(app.get('port'), app.get('ip'), function () {
    console.log('Listening on port ' + app.get('port'));
});
//... More code

如果您要创建新的 Node 项目,请从 npm init 开始创建 package.json 文件。您可以添加 --auto 选项为其提供安全的默认值。

请记住,JSON 文件必须有效 JSON,因此请使用 jsonlintan online validator.

等工具对其进行测试

您的项目具有的任何依赖项都应在包文件中详细说明。这是自动完成的 npm install express --save.