我已经将NodeJS和NowJS部署为EC2上的消息服务器,当我登录到EC2并以命令“node server.js”启动时,它运行正常。但是如果我在后台启动并使用命令“node server.js&> node.out”从EC2注销,那么
有时Jetty(Webserver)无法连接o NowJs。我不确定为什么会这样,我错过了什么?
这是我的代码。
var http = require('http');
var httpServer = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
httpServer.listen(3000);
var nowjs = require("now");
var everyone = nowjs.initialize(httpServer);
everyone.now.distributeMessage = function(ids, message){
everyone.now.receiveMessage(ids, message);
};
BTW我仍然可以在EC2上的firebug中看到http://localhost:3000/nowjs/now.js,但是当我调用everyone.now.distributeMessage时。我收到错误,说它未定义。但是当我登录到EC2并再次启动服务器时,它运行正常。
答案 0 :(得分:0)
使用您提供的命令,您的进程正在用户的ssh会话中运行。当您退出会话时会消失。它可以像使用 nohup 一样简单。
试试这个:
nohup node server.js & > node.out