pm2マルチプロセスマージログ

pm2はマルチプロセスを開始します

pm2 は、複数のプロセスを開いて高い同時実行性を処理できる環境です。

PM2をインストールする

npm install pm2 -g

PM2を開始

pm2 start xxx 

ここに画像の説明を挿入

デフォルトの起動は単一インスタンスのフォーク モードです。PHP などのスクリプト言語の起動にも使用できますが、個人的には pm2 を非クラスターモードで fork モードで実行して開始したプロジェクトは基本的に役に立たないと考えています。

pm2 start xxx -i 0

ここに画像の説明を挿入

(備考: CPU のコア数によって複数のクラスター プロセスが開始されます。>0 を指定すると、指定された数に従ってプロセスが開始されます。プロセスの最大数は CPU コアの数を超えません。 -cluster (k8s環境、マルチインスタンス環境が提供されています。クラスターを再度開いてもあまり意味がありません) 環境はクラスターモードを使用し、pm2が提供するロードバランシングを使用し、フル稼働にすることを強くお勧めします。 CPUの使用)

PM2プロセスを停止します

指定されたpm2によって開始されたプロセスを停止します

pm2 stop xxx

すべての pm2 プロセスを停止します

pm2 stop all

PM2プロセスの削除

指定した起動プロセスを削除します

pm2 delete xxx

すべての起動プロセスを削除します

pm2 delete all

プロセスを強制終了する

pm2 kill

上記のpm2 delete all削除処理との違いは、kill はプロセスを完全に強制終了することと、プロセス番号は最初から計算されること、delete でプロセスを削除した後、新しいプロセスを開始すると最後のプロセス番号を引き継いで継続することです。増加例
:

操作1

delete を使用してプロセスを強制的に削除します
ここに画像の説明を挿入

再度マルチプロセスを開始した後、以前の ID 番号に注意してください。
ここに画像の説明を挿入

操作2

kill でプロセスを強制
ここに画像の説明を挿入
終了して再起動すると、ID 番号が最初から計算されていることがわかりました。
ここに画像の説明を挿入

PM2プロセスを再起動します

PM2 は指定されたプロジェクト プロセスを再起動します

pm2 restart xxx

PM2 はすべてのプロジェクト プロセスを再起動します

pm2 restart all

スムーズで違和感のない再起動が実現でき、プロジェクトが中断されません。

ログ

すべてのログを表示する

pm2 logs

ここに画像の説明を挿入

ログをjson形式で表示する

pm2 logs --json

ここに画像の説明を挿入

ログファイルに書き込まれるログはjson形式です。

pm2 start xxx -i 0 --log-type=json

ここに画像の説明を挿入

マージログ

フォーク モードの場合、ログの場所が指定されていない場合、pm2 ログのデフォルトの場所は
Linux/Mac になります。

/root/.pm2/logs/

Windows システム:

C:\Users\用户\.pm2\logs

注1: ​​クラスタモードを使用し、起動プロセス数を指定しない場合、デフォルトではプロセスログをアクティブにマージします。プロセス数を指定すると、プロセス数に応じてプロセスログファイルが生成されます。デフォルトは次のとおりです: 開始されると、プロセス ログ ファイルが作成されます。
: 3 つのプロセスを開始して、次のようなログを生成します
ここに画像の説明を挿入
pm2 start xxx -i num

ここに画像の説明を挿入

ここに画像の説明を挿入

注 2: フォーク モードの場合、生成されるログは、プロセス ログなしで -i 0 で開始したものと同じになります。

操作 1: 指定した数のプロセスを使用して開始する必要があり、ログをマージしたい場合は、次のコマンドを使用できます。

pm2 start ./bin/www -i 3 --log-type=json --merge-logs -l --log /root/.pm2/logs/merge.log

ここに画像の説明を挿入
マージされたログ (マルチプロセスの標準ログとエラー ログが結合される)
ここに画像の説明を挿入
操作 2: マルチプロセス モードで、標準ログとエラー ログを分離し、マルチプロセス ログをマージする場合は、次のコマンドを使用できます。

pm2 start ./bin/www -i 3 --log-type=json --merge-logs --output /root/.pm2/logs/out.log --error /root/.pm2/logs/error.log

ここに画像の説明を挿入

ログをクリアする

pm2 flush

ここに画像の説明を挿入

バックアップログのポーリング

pm2-logrotate をインストールする

pm2 install pm2-logrotate

バックアップログのポーリング

pm2 set pm2-logrotate:max_size 100M; 
pm2 set pm2-logrotate:retain 3

上記のコマンドは次のとおりです。

  1. 100Mを超えた場合のバックアップ
  2. 3 つのログ ファイルをポーリングし、3 つを超えると、先頭のログ ファイルが自動的に置き換えられます。

デフォルトでは 30 秒に 1 回チェックします。
詳細な設定については、公式 Web サイトのアドレスを入力してください。

一般的なコマンドのまとめ

注文 効果
pm2 start app.js フォークモードを開始する
pm2 start app.js -i num クラスターモードを開始する
pm2 restart app.js アプリケーションを再起動します
pm2 restart all すべてのアプリを再起動する
pm2 stop app.js プロジェクトを停止する
pm2 stop all すべてのアイテムを停止する
pm2 delete app.js プロジェクトプロセスの削除
pm2 delete all すべてのプロジェクトプロセスを削除します
pm2 kill すべてのプロジェクトプロセスを強制終了します
pm2 logs すべての pm2 ログを表示
pm2 flush すべての pm2 ログをクリアする
pm2 start app.js -i 0 --log-type=json ログをjson形式で記録する
pm2 start app.js -i 3 --log-type=json --merge-logs --output /path/xxx.log --error /path/xxx.log ログをjson形式で記録してマージする

おすすめ

転載: blog.csdn.net/sinat_15955423/article/details/111626671