このプロジェクトについて

PM2は、Node.js、TypeScript、Bunアプリケーション向けに設計された、実戦で検証済みの本番環境用プロセスマネージャーです。アプリケーションを無期限に稼働させ続け、ゼロダウンタイムのリロードを可能にし、一般的なシステム管理タスクを容易にします。PM2はLinux、macOS、Windowsをサポートし、Node.js 18以上またはBun 1以上を必要とします。 主な機能は以下の通りです: - **プロセス管理**: 簡単なコマンドでアプリケーションを開始、停止、再起動、削除できます。PM2はプロセスをデーモン化して監視し、プロセスを常時稼働させ続けます。 - **クラスターモードとロードバランシング**: PM2は複数のNode.jsプロセスを起動し、HTTP/TCP/UDPクエリをそれら全体に負荷分散できるため、マルチコアマシンでのスループットが大幅に向上します。インスタンス数を指定するか、'max'を使用して利用可能なすべてのCPUを活用できます。 - **ゼロダウンタイムリロード**: ホットリロードにより、ダウンタイムなしでアプリケーションを更新でき、本番環境に不可欠です。 - **コンテナサポート**: PM2は`node`のドロップイン置換である`pm2-runtime`を提供し、Node.jsアプリケーションのシームレスなDockerコンテナ化を可能にします。 - **ターミナル監視**: `pm2 monit`コマンドを使用すると、コマンドラインから直接、起動中のすべてのプロセスをリアルタイムで監視できます。 - **ログ管理**: PM2は、標準、生、JSON、形式化された出力をサポートする包括的なログ管理を提供します。ログローテーションは`pm2-logrotate`モジュールで利用できます。 - **スタートアップスクリプト**: PM2は、systemd、upstart、systemv、openrc、launchd、rcd、rcd-openbsd、smfイニットシステム用のスタートアップスクリプトを生成および設定でき、サーバー再起動後にプロセスが確実に存続します。 - **PM2+監視**: 複数サーバーにわたるアプリの監視と管理のためのクラウドベースのダッシュボードです。 PM2はnpmまたはBunを介してグローバルにインストールされ、AGPL 3.0の下でライセンスされています。