サーバー側での Node.js の人気により、ますます多くの企業や開発者が Node.js を使用して独自のアプリケーションを構築し始めています。 Node.js アプリケーションを運用環境にデプロイする場合、その高可用性、柔軟性、およびスケーラビリティを確保することが非常に重要な問題になります。この記事では、PM2 を使用して Node.js アプリケーションをパッケージ化してデプロイし、運用環境での安定性を確保する方法について説明します。
1. PM2 とは
PM2 は、Node.js アプリケーションの開発、パッケージ化、デプロイメントの管理に使用できるオープン ソースの Node.js プロセス管理ツールです。プログラムを監視して自動的に再起動するほか、負荷分散や 0 秒のダウンタイム アップグレードなどの機能もサポートし、運用環境でのアプリケーションの安定性と信頼性を高めます。同時に、PM2 には一般的に使用される多くの Node.js ツールとプラグインも統合されており、開発者はアプリケーションをより効率的に開発できるようになります。
2. PM2 のインストールと設定
PM2 を使用する前に、まずインストールする必要があります。 npm を使用してインストールできます。
npm install pm2 -g
インストールが完了したら、pm2 コマンドを使用してアプリケーションを起動および管理できます。次のコマンドを使用して、PM2 のバージョンとステータスを表示できます。
$ pm2 -v 2.10.4 $ pm2 status
PM2 では、構成ファイルを使用してアプリケーションを管理する必要があります。構成ファイルは、アプリケーションのさまざまなプロパティを記述する JSON 形式のファイルです。最も単純な構成ファイルは次のようになります:
{ "name": "my-application", "script": "app.js", "watch": true }
この構成ファイルは、my-application という名前のアプリケーションを定義します。その起動スクリプトは app.js で、ファイルが変更されるとアプリケーションを自動的に再起動します。
3. PM2 の基本的な使用法
開発と展開に PM2 を使用する前に、いくつかの基本的なコマンドを理解する必要があります:
次のコマンドを使用してアプリケーションを起動できます:
pm2 start <app.js>
ここで、app.js はアプリケーション起動スクリプトへのパスです。アプリケーションの構成ファイルで起動スクリプトを定義している場合は、次のコマンドを使用してアプリケーションを起動できます。
pm2 start <config.json>
次のコマンドを実行してアプリケーションを停止します。
pm2 stop <app_name>
ここで、app_name はアプリケーションの名前です。
次のコマンドを使用してアプリケーションを再起動できます:
pm2 restart <app_name>
ここで、app_name はアプリケーションの名前です。
次のコマンドを使用して、PM2 の現在のアプリケーション リストを表示できます:
pm2 list
次のコマンドを使用して、PM2 でのアプリケーションの実行ステータスを表示できます:
pm2 status
4. PM2 の高度な使用法
基本的な使用法に加えて、 PM2 はいくつかの高度な機能も提供しており、Node.js アプリケーションをより適切に管理できるようになります。
アプリケーションの実行中、PM2 は自動的にログ ファイルを生成します。次のコマンドを使用してログを表示できます:
pm2 logs <app_name>
ここで、app_name はアプリケーションの名前です。
pm2 logrotate コマンドを使用してログ ファイルを管理し、過剰なログによるスペースの占有を避けることもできます。
Node.js を開発する場合、環境変数は環境変数を設定する非常に一般的な方法です。 PM2 には環境変数を設定する方法も用意されており、アプリケーション構成をより柔軟に管理できるようになります。
アプリケーションの構成ファイルで環境変数を設定できます:
{ "name": "my-application", "script": "app.js", "watch": true, "env": { "NODE_ENV": "production" } }
上記の構成ファイルでは、NODE_ENV という名前の環境変数を設定し、その値はproductionです。アプリケーションでは、process.env.NODE_ENV を通じてこの変数の値を取得できます。
PM2 を使用すると、複数のインスタンスを起動して負荷分散と高可用性を実現することもできます。次のコマンドを使用して複数のインスタンスを開始できます:
pm2 start <config.json> -i
ここで、number_of_instances は開始する必要があるインスタンスの数です。
PM2 は、標準のロード バランシングと 0 秒のダウンタイム アップグレードもサポートしているため、複数のインスタンスをより便利に管理できます。
5. まとめ
この記事では、PM2 ツールの機能とインストール方法を紹介し、PM2 の基本的な使い方と高度な機能を紹介しました。 PM2 を使用することで、Node.js アプリケーションをより適切に管理し、運用環境でのアプリケーションの効率と安定性を高めることができます。
以上がnodejs pm2のパッケージ化とデプロイメントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。