PM2 、またはProcess Manager 2は、Node.jsで記述された非常に用途の広いプロダクションプロセスマネージャーです。

PM2の用途

PM2には多くの用途がありますが、いくつか見てみましょう。

  • クラッシュ後の再起動:PM2を使用すると、宇宙の熱的死またはサーバー障害のいずれか早い方までプロセスを実行し続けることができます。
  • プロセスのリモート監視と管理:魔法の力で動くWebポータルを使用すると、リモートプロセスを監視して管理できます。
  • ノードアプリを実行するだけではありません:PM2はNode.jsプロセスだけに限定されていません。そうです、Minecraftサーバーをオンラインに保つために使用することもできます。
  • Restart-Persistance :PM2はすべてのプロセスを記憶し、システムの再起動後にそれらを再起動できます
  • そしてもっとたくさん

入門

最初に行う必要があるのは、PM2をマシンにグローバルにインストールすることです。

$ npm i -g pm2

基本コマンド

使い方の基本を学びましょう。 PM2でプロセスを開始するには、pm2 start <app>を実行するだけです。 アプリは、実行しているファイルの名前です。 PM2は次のように出力します。

[PM2] Starting C:\Users\moose\app.js in fork_mode (1 instance)
[PM2] Done.
┌──────────┬────┬
│ App name │ id │
├──────────┼────|
│ app      │ 0  │
└──────────┴────|

簡潔にするために縮小および簡略化

idの下に書かれていることに注意してください。 忘れた場合は、pm2 listを実行してください。 プロセスの開始時にプロセスに名前を追加する場合は、--nameパラメーター(pm2 start app.js --name mycoolapp)を使用できます。 素晴らしい! アプリはPM2で実行されています。クラッシュした場合、PM2はアプリを再起動します。

ファイル変更時に再起動

PM2のもう1つの優れた機能は、作業ディレクトリ内のファイルが変更されたときに再起動することです。 PM2にディレクトリを監視させ、ファイルの変更を再開するには、アプリの起動時に--watchフラグを含めます。

再起動による永続性

PM2を使用すると、サーバーが(再)起動したときにプロセスを開始することもできます。 pm2 startを介して常に実行したいものを開始してから、pm2 saveを実行します。

$ pm2 save                                                                                                
[PM2] Saving current process list...
[PM2] Successfully saved in C:\Users\moose\.pm2\dump.pm2

これで、システムが再起動すると、PM2は、pm2 saveを実行したときに実行していたプロセスをすべて開始します。

🐊PM2は多くのことを行いますが、そのほとんどはこの簡単な紹介の範囲外です。 将来的には、PM2のクラスターモード、リモートプロセス管理などをカバーする可能性があります。 読んでくれてありがとう!