NGINX と PM2 を使用して、VPS サーバー上でサービスの拡張と負荷分散を実現するにはどうすればよいですか?
高同時アクセスとサーバー パフォーマンスの向上の需要に応え、サービスの拡張と負荷分散が重要なソリューションになっています。この記事では、NGINXとPM2を利用してVPSサーバー上でのサービス拡張と負荷分散を実現する方法を紹介します。
1. NGINX と PM2 とは何ですか?
2. サービスの拡張と負荷分散に NGINX を使用する
まず、VPS サーバーに NGINX をインストールする必要があります。特定のインストール方法は、さまざまなオペレーティング システムに応じて検索して見つけることができます。
負荷分散に NGINX を使用する前に、リクエストをバックエンド サーバーに転送するようにリバース プロキシを構成する必要があります。 NGINX 構成ファイルを編集し、http ブロックに次の内容を追加します。
upstream backend { server backend1; server backend2; server backend3; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
ここでの backend1、backend2、および backend3 はバックエンド サーバーのアドレスであり、実際の状況に応じて構成できます。
構成ファイルを保存した後、次のコマンドを使用して NGINX サービスを開始します:
sudo service nginx start
この時点で、NGINXが構成されており、example.com にアクセスしてリバース プロキシが機能しているかどうかをテストできます。
3. PM2 を使用して Node.js アプリケーションを拡張および負荷分散する
Node.js と PM2 を VPS サーバーにインストールします。特定のインストール方法は、さまざまなオペレーティング システムに応じて検索して見つけることができます。
PM2 を通じて、Node.js アプリケーションをサーバーにデプロイできます。プロジェクトのルート ディレクトリで、次のコマンドを実行します。
pm2 start app.js
ここでの app.js は、Node.js アプリケーションのエントリ ファイルです。
デフォルトでは、PM2 は 1 つのプロセスのみを開始します。負荷分散を実現するために複数のプロセスを開始する必要がある場合は、次のコマンドを使用できます:
pm2 scale app +3
ここでの app は PM2 の Node.js アプリケーションの名前で、3 は 3 つのプロセスを開始することを意味します。サーバーの構成とパフォーマンスに基づいて、プロセスの数を自分で調整できます。
4. NGINX と PM2 を組み合わせてサービス拡張と負荷分散を実現する
以前に構成した NGINX 構成ファイルで、リバース プロキシの転送アドレスを、Node.js アプリケーションによって監視されるアドレスとポートに変更します。例:
upstream backend { server 127.0.0.1:3000; server 127.0.0.1:3001; server 127.0.0.1:3002; }
構成ファイルを使用して、次のコマンドを使用して NGINX サービスと PM2 サービスを再起動します。
sudo service nginx restart pm2 restart all
この時点で、NGINX と PM2 はサービス拡張とロード バランシングの構成を完了しています。 example.com にアクセスすると、リクエストは NGINX によってバックエンドの複数の Node.js プロセスに転送されて処理されます。
この記事では、NGINX と PM2 を使用して VPS サーバー上でサービスの拡張と負荷分散を実現する方法を簡単に紹介します。 NGINX のリバース プロキシと負荷分散構成を PM2 のマルチプロセス展開と組み合わせることで、サーバーのパフォーマンスと安定性を向上させることができます。実際のアプリケーションでは、特定のニーズに応じて NGINX と PM2 をより詳細に構成および調整できます。
以上がNGINX と PM2 を使用して VPS サーバー上でサービス拡張と負荷分散を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。