1

Linuxサーバー(ubuntu)とnode.jsをインストールしました。

私のスクリプト: webserver.js:

var http = require('http');
http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');
}).listen(80);
console.log('Server is running');

サーバースクリプトを開始するパテでサーバーに接続しています:node webserver.js

できます。しかし、ターミナルを閉じると、ウェブサーバーが終了します。どうすればこれを解決できますか?

4

2 に答える 2

1

最も簡単な方法はnohup、バックグラウンドで使用して開始することです。

nohup your_server &

テストにはこれで十分でしょう。安定した運用ソリューションを探している場合は、スクリプトを悪者にする必要があります。

于 2013-10-18T16:45:37.200 に答える
0

スクリーンも使えます。インストールするには

apt-get update && apt-get install -yf screen

(おもう)。

次に、を使用して新しい画面を作成します

screen -S nodeserver

(nodeserver は、画面に付けたい名前に置き換えてください。これを空白のままにしないでください!。空白のままにすると、シャットダウンが難しくなります)。

画面を使用すると、それは独自の端末のように機能します。したがって、そこからサーバーを起動するだけです。次に、 を押します。

Ctrl+a

d

画面から出るには. 画面は引き続きバックグラウンドで実行され、切断されません。これの利点は、後で次を使用して画面に再接続できることです。

screen -r nodeserver

(覚えやすいようにと言った理由がわかりますか? そうしないと、乱数が割り当てられ、使用が難しくなりますが、 を使用して投げることができますscreen -list)

そのため、エラーがスローされた場合、または何かをログに記録した場合でも、そのすべての情報は引き続き利用できます。ssh を使用している場合、画面が常に適切に再生されるとは限らないことに注意してください。

何らかの理由で画面がフリーズする場合、それは問題ですが、を使用して修正できると思います

screen -S nodeserver -X quit

またはそのようなもの(他の人は、これが間違っている場合は自由に変更してください)。

于 2013-11-07T04:12:18.490 に答える