0

NodeJS と NowJS を EC2 のメッセージング サーバーとしてデプロイしました。EC2 にログオンし、コマンド「node server.js」で開始すると、正常に動作します。しかし、バックグラウンドで起動し、コマンド「node server.js & > node.out」でEC2からログアウトすると

Jetty (Web サーバー) が 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);
};

ところで、EC2 の firebug でhttp://localhost:3000/nowjs/now.jsをまだ見ることができますが、everyone.now.distributeMessage を呼び出すと. 定義されていないというエラーが表示されました。しかし、EC2 にログオンしてサーバーを再起動すると、正常に動作します。

4

1 に答える 1

0

指定したコマンドを使用すると、プロセスがユーザーの ssh セッションで実行されます。ログアウトすると、セッションは消えます。nohupを使用するのと同じくらい簡単です。

これを試して:

nohup node server.js & > node.out
于 2011-09-13T21:34:29.853 に答える