ホームページ  >  記事  >  バックエンド開発  >  Web サービスの高可用性を実現するために、Docker コンテナーを介して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスの高可用性を実現するために、Docker コンテナーを介して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-09-06 08:39:121197ブラウズ

Web サービスの高可用性を実現するために、Docker コンテナーを介して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

Web サービスの高可用性を実現するために、Docker コンテナーを介して Nginx プロキシ サーバーを構成するにはどうすればよいですか?

今日のインターネット時代において、Web サービスの高可用性はあらゆる企業が追求する目標です。 Nginx をプロキシ サーバーとして使用することは、高可用性を実現するための一般的なソリューションです。 Docker をコンテナ化プラットフォームとして使用すると、Nginx プロキシ サーバーのデプロイと管理が容易になります。

この記事では、Web サービスの高可用性を実現するために、Docker コンテナーを介して Nginx プロキシ サーバーを構成する方法を紹介します。例を使用して手順を説明します。

  1. Docker のインストール
    まず、サーバーに Docker をインストールする必要があります。詳細については、Docker の公式ドキュメントを参照してください。
  2. Docker ネットワークを作成する
    高可用性を実現するには、複数のコンテナが相互に通信できるように Docker 上にカスタム ネットワークを作成する必要があります。次のコマンドを実行して、「proxy_net」という名前のネットワークを作成します。
docker network create proxy_net
  1. Nginx コンテナーの作成
    次に、Nginx コンテナーを作成する必要があります。作成する前に、Nginx 構成ファイルが必要です。次の内容を含む「nginx.conf」という名前のファイルを作成します。
http {
    upstream backend {
        server web1:80;
        server web2:80;
    }

    server {
        listen 80;

        location / {
            proxy_pass http://backend;
        }
    }
}

上記の構成ファイルは、2 つの Web サーバー (web1 と web2) を含む「backend」という名前のプロキシ サーバー グループを定義します。これらのサーバーへのすべてのリクエスト。

次に、以下のコマンドを実行してNginxコンテナを作成します。

docker run -d --name nginx --net proxy_net -p 80:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf nginx

このうち、「--name nginx」はコンテナ名を指定し、「--net proxy_net」はコンテナ名を指定します。 「-p 80:80」はコンテナのポート 80 をホストのポート 80 にマップし、「-v /path/to/nginx.conf:/etc/nginx/nginx.conf」はマウントします。ホスト上の構成ファイルをコンテナー内の指定されたパスに移動します。

  1. Web サーバー コンテナの作成
    次に、2 つの Web サーバー コンテナを作成し、前の手順で作成したネットワークにそれらを参加させる必要があります。

まず、次のコマンドを実行して、「web1」という名前の Web サーバー コンテナを作成します。

docker run -d --name web1 --net proxy_net -p 8081:80 nginx

このうち、「--name web1」はコンテナの名前を指定します。 -- net proxy_net" はコンテナが属するネットワークを指定し、"-p 8081:80" はコンテナのポート 80 をホストのポート 8081 にマップします。

次に、次のコマンドを実行して、「web2」という名前の Web サーバー コンテナを作成します。

docker run -d --name web2 --net proxy_net -p 8082:80 nginx

同様に、「--name web2」はコンテナの名前「--net proxy_net」を指定します。 " コンテナが属するネットワークを指定します。 "-p 8082:80" は、コンテナのポート 80 をホストのポート 8082 にマップします。

これまでに、Nginx プロキシ サーバー コンテナーと 2 つの Web サーバー コンテナーを作成し、それらを同じネットワークに接続しました。

  1. Web サービスの高可用性を確認する
    次に、Nginx コンテナのポート 80 にアクセスして、Web サービスの高可用性を確認します。ブラウザを開き、サーバーの IP アドレスとポート番号 (例: http://192.168.1.100:80) を入力し、ページを数回更新します。

Nginx プロキシ サーバーはリクエストを 2 つの Web サーバー コンテナのいずれかに転送するため、ページが更新されるたびに異なる結果が表示される場合があります。これにより、Web サービスの高可用性が実現されます。

Docker コンテナを介して Nginx プロキシ サーバーを構成して Web サービスの高可用性を実現すると、エンタープライズ Web アプリケーションに安定した信頼性の高いサービスを提供できます。実際のアプリケーションでは、必要に応じて Web サーバー コンテナを追加し、さまざまなシナリオに適応するように Nginx 構成ファイルを調整できます。

この記事がお役に立てば幸いです!

以上がWeb サービスの高可用性を実現するために、Docker コンテナーを介して Nginx プロキシ サーバーを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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