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

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

Sep 06, 2023 am 08:39 AM
docker nginx 高可用性

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Dockerによってコンテナを出る方法 Dockerによってコンテナを出る方法 Apr 15, 2025 pm 12:15 PM

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop< container_id>);コンテナを起動します(docker start< container_id>);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。

See all articles