目次
pm2 とは
总结
ホームページ ウェブフロントエンド jsチュートリアル Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

Apr 19, 2023 pm 06:59 PM
node.js node

ノードプロセス管理ツール-pm2の使い方. ノードプロセス管理ツール-pm2の使い方については次の記事で解説していますので、ご参考になれば幸いです。

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

pm2 とは

pm2 は、アプリケーションの保護と管理に役立つデーモン プロセス管理ツールです。通常、pm2 はサービスがオンラインになるときの管理に使用されます。ファイル変更の監視や自動再起動、複数プロセスの一元管理、組み込みの負荷分散、ロギングシステムなど、pm2でできることは実はたくさんあります。pm2

#の使い方を見てみましょう。 ##pm2 基本コマンド

最初に単純なノード サービスを作成し、新しいフォルダーを作成して

npm init を実行し、次に pm2

npm i pm2 -g
ログイン後にコピー

をインストールして新しい Index.js を作成し、 Index2.js、2 つの単純な http サービスを作成し、pm2 を使用してそれらを管理します。 [関連チュートリアルの推奨事項:

nodejs ビデオ チュートリアル プログラミング指導 ]

//index.js
let http = require("http");
let server = http.createServer();
server.on("request", function (req, res) {
  console.log("------------------enter");
  res.write("hello juejin");
  res.end();
});

server.listen(3000, function () {
  console.log(`服务器启动成功,通过http://localhost:3000/进行访问`);
});
ログイン後にコピー
//index2.js
let http = require("http");
let server = http.createServer();
server.on("request", function (req, res) {
  console.log("------------------enter2");
  res.write("hello juejin2");
  res.end();
});

server.listen(3001, function () {
  console.log(`服务器启动成功,通过http://localhost:3001/进行访问`);
});
ログイン後にコピー

次に、pm2 の最初のコマンドを使用します:

pm2 startindex.jspm2 startindex2.js これら 2 つのプログラムをそれぞれ開始します

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

もちろん、プロセス名を指定したい場合は、これを行うことができます:

pm2 start -n testindex.js、ファイルの変更を監視したい場合は、--watch などを追加できます

Visit

http ://localhost:3000/

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

実行

pm2 log出力したログが表示されます

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

pm2 他にも多くのコマンドがあります。ここではいくつかの

    1 つ/複数/すべてのプログラムを停止
  • pm2 stop id/id1 id2 id3/all
  • Kill Dead 1/複数/すべてのプログラム
  • pm2 delete id/id1 id2 id3/all
  • Restart 1/複数/すべてのプログラム
  • pm2 restart id/id1 id2 id3 / all
  • 起動してログを表示します
  • pm2 start api.js --attach
  • アプリケーションをリストします
  • pm2 list
  • 監視パネルの表示
  • pm2 monit
  • プログラム データの表示
  • pm2 show [id]
負荷分散

NodeJS が非同期のシングルスレッド言語であることは誰もが知っていますが、何も処理せずに直接サーバーにデプロイすると、サーバーの 1 つのスレッドしか使用できなくなり、パフォーマンスが大幅に無駄になります。

pm2 を使用すると、プログラムがサーバーの CPU を最大限に活用できるようにするために必要なコマンドは 1 つだけです。index.js を例に挙げます:

pm2 startindex -i max, たとえば、myコンピュータは 10 コアが 20 スレッドの場合、20 スレッドが開きます

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

#もちろん、必要なスレッド数を指定したい場合は、max を直接変更できます。開きたいスレッドの数を入力します。

pm2 start Index -i 3

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

設定ファイル

私たちは皆、コマンド ラインを使用しました。上記の例を管理するには、実際には非常に不便ですが、幸いなことに、pm2 は構成ファイルの形式を提供します。

コマンド

pm2 init simple を直接使用して、単純な構成ファイル ecosystem.config.js を生成し、2 つのサービスを指すように変更します

module.exports = {
  apps: [
    {
      name: "index",
      script: "./index.js",
    },
    {
      name: "index2",
      script: "./index2.js",
    },
  ],
};
ログイン後にコピー

次に、元のプロセスをすべて強制終了し、

pm2 start Ecosystem.config.js を実行します。同様に、2 つのサービスが開始されます

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

次のいくつかの設定項目です

ecosystem.config.js

module.exports = {
  apps: [
    {
      name: "index", //name
      script: "./index.js", //相对于pm2 start 的相对路径
      cwd: "", //要启动的应用程序的目录
      instances: 2, //要启动实例的数量,就是上面提到的负载
      watch: true, //是否启动监听
      env: { NODE_ENV: "development" }, //	将出现在您的应用程序中的 env 变量
      env_xxx: {
        NODE_ENV: "xxx", //使用pm2注入xxx变量进行切换
      },
      log_date_format: "YYYY-MM-DD HH:mm Z", //日志时间格式
      error_file: "./log/index-error.log", //错误文件路径
      out_file: "./log/index-out.log", //输出日志文件路径
      max_restarts: 10, //最大重启数
      restart_delay: 4000, //重启延迟时间ms
      autorestart: true, //是否自动重启
      cron_restart: "", //定时重启 使用cron表达式
    },
    {
      name: "index2",
      script: "./index2.js",
    },
  ],
};
ログイン後にコピー

Log

ログはバックエンドのトラブルシューティングにとって非常に重要です。pm2 は自動的にログ機能を使用します。たとえば、上記の設定ファイルでログ関連のパラメータを設定しました

log_date_format: "YYYY-MM-DD HH:mm Z", //日志时间格式
error_file: "./log/index-error.log", //错误文件路径
out_file: "./log/index-out.log", //输出日志文件路径
ログイン後にコピー

プロジェクトを開始すると、ログはログの下に記録されます

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

ログ機能pm2 に付属するものはログ分割をサポートしていません。時間が経つにつれて、ログ ファイルはますます大きくなり、パフォーマンスに影響を与えるだけでなく、後でトラブルシューティングするのが非常に面倒になるため、ログを分割する必要があります。ログ分割操作は非常に簡単です。

pm2-logrotate プラグインをインストールするだけです。ここでは pm2 install

pm2 install pm2-logrotate
ログイン後にコピー

を実行し、関連する設定を確認するために pm2 conf を実行することに注意してください。

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

関連する意味を説明してください

  • Compress:是否通过 gzip 压缩日志

  • max_size:单个日志文件的大小

  • retain:保留的日志文件个数

  • dateFormat:日志文件名中的日期格式,默认是 YYYY-MM-DD_HH-mm-ss

  • rotateModule:是否把 pm2 本身的日志也进行分割,

  • workerInterval:检查文件时间间隔

  • rotateInterval:设置强制分割,默认值是 0 0 * * *,意思是每天晚上 0 点分割,这里使用的是 corn 表达式,不会的可以搜索一下

如果我们想要配置也很简单,比如修改 max_size

pm2 set pm2-logrotate:max_size 1K
ログイン後にコピー

然后我们简单测试一下这个工具,我们先设置每个 log 文件最大 1kb

然后重启我们的项目

pm2 restart ecosystem.config.js
ログイン後にコピー

然后就会发现我们的日志被分割了

Node プロセス管理ツール pm2 の使用方法について詳しく説明します。

总结

pm2对于node服务的管理是十分方便的,文中提到的只是其中一部分,如果你想使用pm2管理你的服务的话可以到官网pm2.io/ 进行学习

更多node相关知识,请访问:nodejs 教程

以上がNode プロセス管理ツール pm2 の使用方法について詳しく説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nodeのメモリ制御に関する記事 Nodeのメモリ制御に関する記事 Apr 26, 2023 pm 05:37 PM

ノンブロッキングおよびイベント駆動に基づいて構築されたノード サービスには、メモリ消費量が少ないという利点があり、大量のネットワーク リクエストの処理に非常に適しています。大量のリクエストを前提として、「メモリ制御」に関する問題を考慮する必要があります。 1. V8 のガベージ コレクション メカニズムとメモリ制限 Js はガベージ コレクション マシンによって制御されます

Node V8 エンジンのメモリと GC の詳細な図による説明 Node V8 エンジンのメモリと GC の詳細な図による説明 Mar 29, 2023 pm 06:02 PM

この記事では、NodeJS V8 エンジンのメモリとガベージ コレクター (GC) について詳しく説明します。

Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Mar 28, 2023 pm 07:28 PM

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

Node の File モジュールについて詳しく説明しましょう Node の File モジュールについて詳しく説明しましょう Apr 24, 2023 pm 05:49 PM

ファイル モジュールは、ファイルの読み取り/書き込み/開く/閉じる/削除の追加など、基礎となるファイル操作をカプセル化したものです。ファイル モジュールの最大の特徴は、すべてのメソッドが **同期** と ** の 2 つのバージョンを提供することです。 asynchronous**、sync サフィックスが付いているメソッドはすべて同期メソッドであり、持たないメソッドはすべて異種メソッドです。

Nodeのプロセス管理ツール「pm2」を徹底分析 Nodeのプロセス管理ツール「pm2」を徹底分析 Apr 03, 2023 pm 06:02 PM

この記事では、Node のプロセス管理ツール「pm2」について説明し、pm2 が必要な理由、pm2 のインストール方法と使用方法について説明します。皆様のお役に立てれば幸いです。

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

Nodeのイベントループについて話しましょう Nodeのイベントループについて話しましょう Apr 11, 2023 pm 07:08 PM

イベント ループは Node.js の基本的な部分であり、メイン スレッドがブロックされていないことを確認することで非同期プログラミングが可能になります。イベント ループを理解することは、効率的なアプリケーションを構築するために重要です。次の記事では、Node のイベント ループについて詳しく説明します。お役に立てれば幸いです。

ノードがnpmコマンドを使用できない場合はどうすればよいですか? ノードがnpmコマンドを使用できない場合はどうすればよいですか? Feb 08, 2023 am 10:09 AM

ノードが npm コマンドを使用できない理由は、環境変数が正しく設定されていないためです。解決策は次のとおりです: 1. 「システムのプロパティ」を開きます; 2. 「環境変数」->「システム変数」を見つけて、環境を編集します。変数; 3.nodejs フォルダーの場所を見つけます; 4.「OK」をクリックします。

See all articles