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のクラスターモード、リモートプロセス管理などをカバーする可能性があります。 読んでくれてありがとう!