nodejsスクリプトをデーモン化するforever
前回のnode-devもですが、寄り道して見つけたのってすぐ忘れそうなのでメモ。
foreverはnodejsスクリプトをデーモン化するツール。
死活監視して死んでいたら再起動してくれる。
1.npmでインストール
$ npm install forever -g
2.foreverコマンドでアプリを起動
$ forever start app.js info: Running action: start info: Forever processing file: app.js
forever --helpで見た限りでは一般的な操作感。
稼働しているスクリプト一覧。稼働時間も見れていいかも。
$ forever list data: uid command script forever pid logfile uptime data: [0] QEn5 node app.js 29253 29254 /user_name/.forever/QEn5.log 0:0:0:2.492
指定したスクリプトを停止
$ forever stop app.js
稼働している全てのスクリプトを停止
$ forever stopall
などなど。
オプションも色々あって
-m で起動する回数が指定できたり
-l でログの出力先ファイルが指定できました。
$ forever start -l /var/log/forever.log -m 2 app.js
ちなみに-mは1を指定すると最初の起動もカウントされていて、
次回停止時に再起動はされません。
nodejsからAPIとしても使えて
他の言語で書いたスクリプトをデーモン化するなどできるようです。
あとで死活監視はどうやってるのか見てみないと。
使った感じはリアルタイムだったのでプロセスが死んだら
トリガーみたいなの走るのかな?
nodejsでロードバランサーを作る記事を見かけたので
foreverと組み合わせたらいいかも。