1. ホーム
  2. ジャバスクリプト

永続的なnodejsのマネージドプロセス

2022-03-23 19:56:03

フォーエバーとは

foreverは、アプリケーションを起動、停止、再起動することができるnodejsデーモンと考えることができます。



公式の説明にはこうあります。

与えられたスクリプトを連続的に(つまり永遠に)実行させるためのシンプルなCLIツールです。



// 与えられたスクリプトを継続的に(つまり永遠に)実行させるためのシンプルなコマンドラインツールです。





Githubアドレス: https://github.com/nodejitsu/forever

永年使用

foreverの目的は、nodeアプリのサービスをよりよく管理することで、基本的にはforeverプロセスの下にnodeアプリの子プロセスを作成することです。



例えば、エクスプレス系などのアプリをお持ちの方は、サービスの更新や運用がしやすくなり、継続的に利用することができるようになります。



さらに良いことに、ファイルを変更するたびに、手動でサービスを再起動する必要がなく、自動的にサービスを再起動してくれるのです。

永遠にインストール







// グローバル環境へのインストールを要求する -g を追加することを忘れないでください。



sudo npm install forever -g









フォーエバー使用説明書







スタートアップ関連

// 1.簡単なスタートアップ



永久起動 app.js

// もちろん、デフォルトでは ~/.forever/forever.log に出力されます。



forever start -l forever.log app.js

// 3. app.jsでログメッセージとエラーログ出力ファイルを指定します。



// -o は console.log の出力、-e は console.error の出力です。



永久起動 -o out.log -e err.log app.js

// 4.ログを追加する、デフォルトではforeverは最後の開始ログを上書きしない



// つまり、2回目の起動時に-aを付けないと、実行されないのです



forever start -l forever.log -a app.js

// 5.現在のフォルダー内の全ファイルの変更をリッスンする



永久起動 -w app.js

ファイルの変更をリッスンし、自動的に再起動する

// 1.現在のフォルダー内のすべてのファイルの変更をリッスンする(あまりお勧めできません。)



永久起動 -w app.js





稼働中のサービスをすべて表示する

永久保存版





操作を停止する

// 1.起動しているノードアプリを全て停止する



永久停止

// 2.ノードアプリの一つを停止させる



forever stop app.js



// もちろん、こうすることもできます。



// 永遠のリスト 対応するidを探すと。



永久停止[id]の場合

操作の再スタート

再起動操作は停止操作と一致する。

// 1.すべてを開始する



forever restartall

開発・オンライン用推奨構成





// 開発環境の場合



NODE_ENV=development forever start -l forever.log -e err.log -a app.js



// オンライン環境の場合



NODE_ENV=production forever start -l ~/.forever/forever.log -e ~/.forever/err.log -w -a app.js





NODE_ENVは、app.jsが現在どのような環境にあるのかを認識させるために、上に追加しています。追加しないと、わからないかもしれませんね。