Nginxはリバースプロキシを使用して負荷分散プロセス分析を実装します

Nginxはリバースプロキシを使用して負荷分散プロセス分析を実装します

導入

dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基本的な使い方を学ぶ必要があります。

2つのTomcatを負荷分散サーバーとして使用する

1. dockerを使用してTomcatとnginxのイメージを取得する

nginx リファレンスをプルする

tomcat リファレンスをプルする

2. docker-composeを使用して2つのTomcatサービスを作成する

新しい tomcat ディレクトリを作成し、そのディレクトリ内に docker-compose.yml ファイルを作成して、次の内容を入力します。

バージョン: '3'
サービス:
  トムキャット1:
    画像: トムキャット
    コンテナ名: tomcat1
    ポート:
      - 9090:8080

  トムキャット2:
    画像: トムキャット
    コンテナ名: tomcat2
    ポート:
      - 9091:8080

コンテナを起動するには、docker-compose.yml ファイルと同じディレクトリで次のコマンドを実行します (-d はバックグラウンドで実行することを意味します)

docker-compose を起動 -d

成功したら、Dockerコンテナリストを確認します

注文

ドッカーps

結果の例には、tomcat1とtomcat2の2つのコンテナがあります。

コンテナID イメージ コマンド 作成ステータス ポート名
271dd3610d1d tomcat "catalina.sh run" 58 分前 58 分前に起動 0.0.0.0:9091->8080/tcp tomcat2
fa19d20f0022 tomcat "catalina.sh run" 58 分前 58 分前に起動 0.0.0.0:9090->8080/tcp tomcat1

コンテナにインタラクティブにアクセスし、ホームページのコンテンツを変更して 2 つの Tomcat を区別します (以下の例では Tomcat が使用されています)

注文

docker exec -it fa19d20f0022 バッシュ

ホームページにコンテンツを追加する

echo "9090" >> webapps/ROOT/index.jsp

3. nginxサービスを作成する

新しい nginx ディレクトリを作成し、そのディレクトリ内に docker-compose.yml ファイルを作成して、次の内容を入力します。

バージョン: '3.1'
サービス:
  nginx:
    再起動: 常に
    画像: nginx
    コンテナ名: nginx
    ポート:
      - 81:80
    ボリューム:
      - ./conf/nginx.conf:/etc/nginx/nginx.conf

docker-compose は /conf/nginx.conf を自動的にフォルダーとして扱うため、コンテナーを作成する前に nginx ディレクトリに conf ディレクトリを作成し、conf ディレクトリに nginx.conf ファイルを作成して次の内容を入力する必要があります。

ユーザー nginx;
ワーカープロセス 1;

イベント {
 ワーカー接続 1024;
}

http {
 アップストリーム myapp1 {
  server [サーバーIP]:9090 weight=10;
  サーバー [サーバー IP]:9091 重み = 10;
 }
 サーバー{

  聞く 80;
  server_name [サーバーIP];
  位置 / {
   proxy_pass http://myapp1;
  }
 }
}

docker-compose.ymlと同じディレクトリで実行します。

docker-compose を起動 -d

4. [server ip]:81 にアクセスし、数回更新して、2 つの Tomcat サービス間の切り替えを確認します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nginx リバース プロキシと負荷分散を実装する方法 (Linux ベース)
  • Nginx リバース プロキシと負荷分散の実践
  • Nginx 7層リバースプロキシと負荷分散についての簡単な説明
  • Nginx のロードバランシングとリバースプロキシの設定と最適化の詳細な説明
  • 詳細な Nginx リバース プロキシと負荷分散の導入ガイド
  • Nginx HTTP ロードバランシングとリバースプロキシ構成の詳細な説明
  • nginx のロードバランシングとリバースプロキシの説明

<<:  JavaScriptオフセットは、ウィンドウ内でのマウス座標の取得とモジュールのドラッグを実装します。

>>:  MySQL 5.7.24 のインストールと設定方法のグラフィックチュートリアル

推薦する

Vue で PC アドレスをモバイル アドレスにリダイレクトする方法

要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...

Docker で hyperf を開発する完全な使用例の詳細な説明

ハイパーフ公式サイトHyperf 公式ドキュメントのインストール1. Dockerの使用docker...

threejs でリアルタイムポリゴン屈折を実装する方法

目次序文ステップ1: セットアップと前方屈折ステップ2: 反射とフレネル方程式ステップ3: 多面屈折...

jsはシンプルな英語-中国語辞書を実装します

この記事では、参考までに、簡単な英中辞典を実装するためのjsの具体的なコードを紹介します。具体的な内...

CSSでできるならJavaScriptは使わない

序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...

知らないかもしれない奇妙で興味深いDockerコマンド

はじめに使えるかもしれないが、あまり使われていない、シンプルで実用的なDockerコマンドをいくつか...

vue3.0 プロジェクトを素早く構築するための手順を完了する

目次1. 3.0をより適切にサポートするには、vue/cliのバージョンが4.5.0以上であることを...

Linux ホスト名設定の詳細な紹介

目次1. Linuxホスト名を設定するクライアントホストを構成するサーバーホストを構成する2. ホス...

均一なアニメーション効果を実現するJavaScript

この記事の例では、JavaScriptで等速アニメーションを実装するための具体的なコードを参考までに...

Linux システムで MySQL データベースの解凍バージョンをインストールして構成する方法

1. ファイルを現在のディレクトリに解凍しますコマンド: tar -zxvf mysql....ta...

HTML でスクロールバーを非表示にしたり削除したりする方法

1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...

Centos7.6にTomcat-8.5.39をインストールする方法

Centos7.6 に Tomcat-8.5.39 をインストールする方法は次のとおりです。詳細は次...

IIS7 IIS8 http は自動的に HTTPS にジャンプします (ポート 80 はポート 443 にジャンプします)

IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...

Angularフレームワークのビュー抽象定義の詳細な説明

序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...

HTML tbody の使用

構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....