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

时间:2016-04-03 01:18:42

标签: node.js sockets openshift

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

通过网络界面启动应用时出现此错误:

    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

1 个答案:

答案 0 :(得分:0)

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

请记住,JSON文件必须是有效的JSON,因此请使用jsonlintan online validator等工具对其进行测试。

您的项目所具有的任何依赖项都应该在包文件中拼写出来。这是通过npm install express --save

等内容自动完成的