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 のインストールと設定方法のグラフィックチュートリアル

推薦する

CentOS7 で MySQL 5.7.24 をコンパイルしてインストールする詳細なチュートリアル

目次依存関係をインストールするブーストをインストールMySQLをコンパイルしてインストールする構成依...

CSS スタイルを HTML 外部スタイルシートにインポートする方法

リンクインスタイルとは、すべてのスタイルを 1 つ以上の外部スタイルシート ファイルに配置することで...

Hadoop におけるネームノードとセカンダリネームノードの動作メカニズムの説明

1) プロセス 2) FSImageと編集NodeNode は HDFS の頭脳です。ファイルシステ...

nodejs で worker_threads を使用して新しいスレッドを作成する方法

導入前の記事で述べたように、NodeJS には 2 種類のスレッドがあります。1 つは、ユーザー リ...

初心者向け入門チュートリアル④:サブディレクトリのバインド方法

これが何を意味するのかを理解するには、まずサブディレクトリとは何かを知る必要があります。では、サブデ...

MySQL の例 DTID マスタースレーブ原理の分析

目次1. GTIDの基本概念2. GTIDの利点3. GTIDの仕組み4. 従来のレプリケーションに...

Centos7.3 で mysql5.7.18 をインストールして初期パスワードを変更する方法

この記事では、Centos7.3でのmysql5.7.18のインストールと初期パスワードの変更につい...

CSS3入力ボックスの実装コードはGoogleログインのアニメーション効果に似ています

CSS3を使用して、Googleログインページと同様の入力ボックスをアニメーション化します。効果1 ...

ウェブデザインの経験とスキルの概要

■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...

JavaScriptプロトタイプチェーン図のまとめと実践

目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

VUE 応答性原理の詳細な説明

目次1. 応答原理の基盤2. コアオブジェクト: Dep と Watcher 3. 依存関係を収集し...

WeChatアプレットの入力レベルとテキストエリアレベルの浸透率が高すぎる問題の解決策

WeChat ミニプログラムのネイティブ コンポーネントであるカメラ、キャンバス、入力 (フォーカス...

Windows での mysql-5.7.28 のダウンロード、インストール、および構成に関する詳細なグラフィックとテキストのチュートリアル

最近MySQLデータベースのバージョンを変更する必要があり、それを記録するために記事を書きます1. ...

Vue2.x における双方向バインディングの原理と実装

目次1. 実施プロセス2. オブザーバーを表示する3. ウォッチャーを実装する4. コンパイルを実装...