ホームページ  >  記事  >  運用・保守  >  NGINX と PM2 を使用して VPS サーバーの負荷分散を最適化する方法

NGINX と PM2 を使用して VPS サーバーの負荷分散を最適化する方法

王林
王林オリジナル
2023-09-26 18:17:07795ブラウズ

NGINX と PM2 を使用して VPS サーバーの負荷分散を最適化する方法

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 サイトの他の関連記事を参照してください。

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