NGINX と PM2 を使用して VPS サーバーの負荷分散を最適化する方法
はじめに:
最新の Web アプリケーションでは、負荷分散は非常に重要なテクノロジーです。 。トラフィックを複数のサーバーに分散することで、アプリケーションのスケーラビリティと信頼性を向上させることができます。この記事では、NGINX と PM2 を使用して VPS サーバーの負荷分散を最適化する方法を紹介します。具体的なコード例を使用して各ステップを詳しく説明します。
ステップ 1: NGINX をインストールする
まず、高性能 Web サーバーおよびリバース プロキシ サーバーである NGINX をインストールする必要があります。 Ubuntu に NGINX をインストールするための具体的なコマンドは次のとおりです。
$ apt-get update $ apt-get install nginx
ステップ 2: NGINX の構成
インストールが完了したら、NGINX の構成を行う必要があります。サンプル構成ファイルの内容は次のとおりです。
http { upstream backend { server backend1.example.com; server backend2.example.com; } server { listen 80; location / { proxy_pass http://backend; } } }
上の例では、backend という名前のサーバー クラスターをセットアップします。このクラスターには、2 つのバックエンド サーバー backend1.example.com と backend2.example.com が含まれています。次に、ポート 80 でリッスンし、すべてのトラフィックをバックエンド サーバー クラスターにプロキシします。
ステップ 3: PM2 をインストールする
次に、PM2 プロセス マネージャーをインストールする必要があります。 PM2 は、サーバー上で Node.js アプリケーションを起動して管理するのに役立ちます。 Ubuntu に PM2 をインストールするための具体的なコマンドは次のとおりです:
$ npm install pm2 -g
ステップ 4: バックエンド サーバーにアプリケーションをデプロイする
続行する前に、バックエンド サーバーに単純な Node.js アプリケーションをデプロイする必要があります。以下は、単純な Express アプリケーションのサンプル コードです:
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello, World!'); }); app.listen(3000, () => { console.log('App is running on port 3000'); });
上記のコードを app.js として保存し、バックエンド サーバーで次のコマンドを実行してアプリケーションを開始します:
$ node app.js
Now , our http://backend1.example.com:3000 にアクセスすると、アプリケーションにアクセスできるようになります。
ステップ 5: PM2 を使用してバックエンド サーバー上でアプリケーションを開始する
PM2 をプロセス管理に使用するには、アプリケーションが存在するディレクトリに入り、次のコマンドを使用する必要があります。アプリケーションを開始します:
$ pm2 start app.js
上記のコマンドは、アプリケーションをバックグラウンドでデーモン プロセスとして実行し、アプリケーションの再起動やログ管理などを自動的に処理します。
ステップ 6: NGINX でロード バランシングを構成する
これで、NGINX を構成し、バックエンド サーバーで Node.js アプリケーションを開始しました。負荷分散を実現するには、NGINX 構成ファイルを変更する必要があります。変更されたサンプル構成ファイルの内容は次のとおりです。
http { upstream backend { server backend1.example.com:3000; server backend2.example.com:3000; } server { listen 80; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
上記の構成ファイルでは、バックエンド サーバーのポートを 80 から 3000 に変更し、重要な HTTP ヘッダー情報を渡すための proxy_set_header ディレクティブを追加しました。 。
ステップ 7: NGINX サービスと PM2 サービスを再起動する
負荷分散テストを実行する前に、変更を有効にするために NGINX サービスと PM2 サービスを再起動する必要があります。再起動コマンドは次のとおりです。
$ service nginx restart $ pm2 restart all
ステップ 8: 負荷分散のテスト
次に、Web ブラウザまたはcurl コマンドを使用して、負荷分散が適切に機能しているかどうかをテストできます。 http://yourdomain.com にアクセスすると、「Hello, World!」という応答が返されるはずです。ページを更新するたびに、バックエンド サーバーの異なるサーバー名が表示されるはずです。これは、負荷分散が有効であることを意味します。
結論:
NGINX と PM2 を使用することで、VPS サーバー上の負荷分散を簡単に実現できます。負荷分散により、アプリケーションのスケーラビリティと信頼性が向上し、ユーザーへのサービスが向上します。この記事で提供される具体的なコード例と手順が、読者のサーバー最適化と負荷分散の実践に役立つことを願っています。
以上がNGINX と PM2 を使用して VPS サーバーの負荷分散を最適化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。