node.js node.jsスクリプトをpm2でデーモン化する

Javascript

node.jsスクリプトをデーモン化するツールにpm2というものがあります。
https://github.com/Unitech/pm2

pm2は起動したnode.jsスクリプトの死活監視を行い、停止した場合は自動的に再起動します。

同じようなツールであるforeverについての記事がでじうぃきに既に上がっているので、その記事の体裁を借りて書いていきます。

以下Version 1.0.1で確認した内容になります。

インストール

 npm install pm2 -g

主なコマンド

起動

 pm2 start app.js                         node.jsスクリプトの起動
 pm2 start app.js --name="好きな名前"     任意の名前を付けて起動

リスト、詳細表示

 pm2 list                                 実行中スクリプトのリスト表示
 pm2 show [app-name]                      実行中スクリプトの詳細表示
 pm2 monit                                実行中スクリプトのメモリ、CPU使用状況表示

ログ

 pm2 logs                                 実行中の全てのスクリプトのログを表示(tail -n 20とtail -fが実行されるイメージ) 
 pm2 logs [app-name]                      実行中のスクリプトのログを表示 

停止や再起動

 pm2 stop [app-name]                      実行中スクリプトの停止
 pm2 stop all               実行中の全てのスクリプトの停止
 pm2 restart [app-name]                   実行中のスクリプトの再起動

リストにあるスクリプトの削除

  pm2 delete [app-name]

foreverと違って、一度pm2でスクリプトを起動させるとstopしてもpm2 listで停止しているスクリプトが表示されます。
停止して後でまた起動させる時は便利ですが、完全に必要ないときはこのコマンドでリストからスクリプトを削除します。

ログローテート

 pm2 install pm2-logrotate

ログローテートするにはpm2-logrotateモジュールをインストールします。
https://www.npmjs.com/package/pm2-logrotate
デフォルトでは最大サイズ10MB、一日単位でログが分けられます。

サーバー起動時に自動的にpm2を自動開始する

 pm2 startup [platform]            centosの場合:pm2 startup centos
 pm2 save

上の二つのコマンドを実行すると設定されます。

by 芦野輝明
twitter→https://twitter.com/teriyakiegg

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です