【常時起動】carton exec perl で起動したアプリをforeverでデーモン化

  • 2015-7-17

node.jsの為のパッケージ管理ツール npm のforeverを使ってcarton exec perl で起動するアプリの常駐起動方法について。

まず始めに、node.jsが何なのか、npmが何なのかについてはググって下さい。

ざっくりと説明すると、

・carton exec perl で起動してたAmon2アプリを、常に起動できる
・もしエラーで落ちたら自動的にアプリを再起動してくれる
・いま何のアプリが立ち上がってるのか簡単に確認できる

などの、最後に&を付けて起動した時に困り勝ちな部分を解消でき、簡単なコマンドでアプリ制御できます。

例)アプリの起動

forever -c ‘/usr/local/bin/carton exec perl’ start /var/www/html/HOGE/script/hoge-web-server

foreverにcartonのpathを通していない場合がほとんどだと思うので↑のようにstartします。
オプションの-cはコマンドです。他はググって下さい。

例) アプリの起動状態の確認

forever list

そうするとこんな感じで一覧が出てきます。

info: Forever processes running
data: uid command script forever pid logfile uptime
data: [0] OgD7 /usr/local/bin/carton exec perl /var/www/html/HOGEHOGE/script/hogehoge-web-server 15227 15229 /root/.forever/OgD7.log 0:0:6:28.334

この[0]の部分が起動しているアプリの番号になります。

例) restartしたい時

forever restart 0

例) stopしたい時

forever stop 0

最後の0は、listコマンドを打った時に出てくる番号を指定してあげます。

このように、foreverは便利すぎて使っているだけでモテモテです。
街中でサインを求められる事も頻繁にありますので、いざという時の為にサインの練習をしておきましょう。

ちなみに、オススメのforeverのversionは0.11.1です。

npm install forever@0.11.1 -g

関連記事

ページ上部へ戻る