Node.js
ノードアプリケーションを常に稼働させる
サーチ…
PM2をプロセスマネージャとして使用する
PM2では、nodejsスクリプトを永遠に実行できます。アプリケーションがクラッシュした場合、PM2もそれを再起動します。
node2インスタンスを管理するためにPM2をグローバルにインストールする
npm install pm2 -g
nodejsスクリプトが存在するディレクトリに移動し、node2インスタンスをpm2で監視するように開始するたびに、次のコマンドを実行します。
pm2 start server.js --name "app1"
プロセスを監視するのに便利なコマンド
pm2で管理されているすべてのnodejsインスタンスをリストする
pm2 list
特定のnodejsインスタンスを停止する
pm2 stop <instance named>
特定のnodejsインスタンスを削除する
pm2 delete <instance name>
特定のnodejsインスタンスを再起動する
pm2 restart <instance name>
すべてのnodejsインスタンスの監視
pm2 monit
pm2を停止する
pm2 kill
プロセスを強制終了して再起動する再起動とは対照的に、再ロードは0秒のダウンタイムリロードを実現します
pm2 reload <instance name>
ログを表示する
pm2 logs <instance_name>
永遠のデーモンの実行と停止
プロセスを開始するには:
$ forever start index.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info: Forever processing file: index.js
永遠のインスタンスを実行中のリスト:
$ forever list
info: Forever processes running
|data: | index | uid | command | script |forever pid|id | logfile |uptime |
|------|-------|-----|------------------|-------------|-----------|-----|------------------------|--------------|
|data: | [0] |f4Kt |/usr/bin/nodejs | src/index.js|2131 | 2146|/root/.forever/f4Kt.log | 0:0:0:11.485 |
最初のプロセスを停止します。
$ forever stop 0
$ forever stop 2146
$ forever stop --uid f4Kt
$ forever stop --pidFile 2131
nohupによる連続実行
永遠にLinuxに代わるものはnohupです。
nohupインスタンスを開始するには
-
app.js
またはwww
フォルダの場所にcdします。 -
nohup nodejs app.js &
実行するnohup nodejs app.js &
プロセスを終了するには
-
ps -ef|grep nodejs
実行する -
kill -9 <the process number>
永遠のプロセスマンゲーション
インストール
npm install forever -g
cd /node/project/directory
用途
forever start app.js
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow