Windows で負荷分散に Nginx+Tomcat を使用するための完全な手順

Windows で負荷分散に Nginx+Tomcat を使用するための完全な手順

序文

今日は、Prince が Windows で負荷分散に Nginx + Tomcat を使用する方法の完全な手順について説明します。自分で実践してみてください。

また、この記事は純粋に実践的な記事であり、原則の解釈はあまり含まれていないことを指摘しておきます。後ほど、Nginx の原則について詳しく説明する別のコラムを開設するかもしれません。

では、始めましょう。

Nginxをダウンロード

まず、公式ウェブサイトにアクセスして、Windows 用の Nginx の安定バージョンをダウンロードします。公式ウェブサイトのアドレスは、http://nginx.org/en/download.html です。

ダウンロード後、任意の場所に解凍してください。起動に失敗する原因となりますので、中国語の文字が含まれるフォルダに解凍しないでください。

Windows での起動は非常に簡単です。フォルダーに入り、nginx.exe をダブルクリックして直接起動するだけです。

nginx のデフォルト ポートはポート 80 です。Prince のコンピューターのポート 80 は ISS によって占有されているため、ポートをポート 81 に変更します。

ポートの変更も簡単です。conf フォルダーに移動し、nginx.conf ファイルを開いて、次の場所を変更するだけです。

変更後、ダブルクリックして Nginx サービスを起動できます。コマンド ウィンドウが点滅します。実際には正常に起動しているので、心配する必要はありません。ブラウザーに http://localhost:81/ と入力すると、Nginx の起動ページが表示されます。

このようにして、Nginx 環境が展開されます。

設定ファイルの紹介

Nginx 環境ができたので、次の目標は、ユーザーのリクエストを Nginx 経由で Tomcat にリバース プロキシすることです。そのため、まずデフォルト構成で Tomcat サーバーを起動します。

次に、nginx.conf ファイルを開くと、Prince がその中のいくつかの設定の意味を簡単に紹介します。

    聞く 81;
    server_name ローカルホスト;

Listen: 変更しました。これは Nginx のリスニング ポートを表します。これについては何も言うことはありません。

server_name: 監視後に要求が転送される場所を示します。デフォルトでは、ローカル コンピューターに直接転送されます。

    位置 / {
      ルートhtml;
      インデックス index.html index.htm;
    }

location: は一致するパスを示します。この場合、/ はすべてのリクエストがここで一致することを示します。

root: ルートは内部で構成されます。つまり、このリクエストのパスが一致すると、対応するファイルが html フォルダー内で見つかります。

index: ホームページが指定されていない場合は、指定されたファイルがデフォルトで選択されます。インデックスは複数存在でき、順番に読み込まれます。最初のインデックスが存在しない場合は、2 番目のインデックスが見つかります。

これらの構成に加えて、別の構成を追加します

proxy_pass はプロキシ パスを表します。これは、フォルダーを指定する必要がある前述のルートとは異なり、転送に相当します。

次に、構成ファイルを次のように変更します。

位置 / { 
  proxy_pass http://localhost:8080;
}

次に、Nginx に設定ファイルを再読み込みさせます。Nginx のルート ディレクトリに戻り、nginx -s reload コマンドを実行します。

次に、Nginx ページを再度開きます。Tomcat ページが開かれているのがわかりましたか?

負荷分散構成の実装

リクエストのリバース プロキシを実装し、リクエストを Nginx から Tomcat に転送しました。では、Tomcat 負荷分散クラスターをどのように構成するのでしょうか? 実はとても簡単です。

構成は次のとおりです。

アップストリーム localtomcat { 
  サーバー localhost:8080; 
} 
 
サーバ{ 
    位置 / { 
      proxy_pass http://localtomcat; 
    } 
    #......その他省略}

友人たちよ、ここが重要なポイントです、ここに注意を払わなければなりません。アップストリームの後の名前にはアンダースコアを使用できません。Nginx はアンダースコアを認識しないため、転送異常が発生します。

では、負荷分散を実現するために新しい Tomcat を追加するにはどうすればよいでしょうか?

ポートを変更し、新しい Tomcat サーバー (ポート 8081) を開いて、次の構成を追加します。

アップストリーム localtomcat { 
  サーバー localhost:8080; 
  サーバー localhost:8081; 
}

Nginx 構成ファイルを再ロードすると、負荷分散が実装され、リクエストが 2 つの Tomcat に転送されるようになります。

また、weight=number を設定して、各 Tomcat の重みを指定できます。数値が大きいほど、リクエストが受け入れられる可能性が高くなります。

構成は次のとおりです。

アップストリーム localtomcat { 
  サーバー localhost:8080 weight=1; 
  サーバー localhost:8081 weight=5; 
}

要約する

さて、ここでは Windows 上で Nginx + Tomcat の負荷分散クラスターを構築しました。

プリンスの今日のシェアはこれで終わりです。引き続き、続編の記事に注目してください。

上記は、Windows で負荷分散に Nginx+Tomcat を使用する完全な手順の詳細な内容です。負荷分散用の Nginx+Tomcat の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Tomcat Nginx Redis セッション共有プロセス図
  • Nginx/Httpd リバース プロキシ Tomcat 設定チュートリアル
  • Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル
  • Nginx 経由で Tomcat9 クラスターを構築し、セッション共有を実現する
  • Docker を使用して nginx で tomcat クラスターを構築する方法 (画像とテキスト付き)
  • Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル
  • vue プロジェクトを nginx/tomcat サーバーにデプロイする実装
  • Nginx+Tomcat 高性能負荷分散クラスタ構築チュートリアル
  • Windows 上で Nginx+Tomcat クラスタを実装するプロセスの分析

<<:  MySQL 集計関数のネストされた使用操作

>>:  フォームから Vue ElementUI を使用してログイン効果を実装する例

推薦する

CentOS7.6にMYSQL8.0をインストールする詳細な手順

1. 一般的に、CentOS では mariadb がデフォルトでインストールされているため、まず ...

サーバー同時実行数の推定式と計算方法

最近、サーバーのストレステストを再度行う必要が出てきました。ここでは、最近学んだ見積もりスキームと見...

JavaScript の組み込み Date オブジェクトの詳細な説明

目次日付オブジェクト日付オブジェクトの作成新しい日付()日付を取得する()取得日()月を取得する()...

ページデザインにおけるテーブルとdivの適切な適用についての簡単な説明

この記事の冒頭で、以前書いた入門記事の間違いを訂正したいと思います。初心者を再び誤解させないように、...

7つの便利なTypeScriptの新機能

目次1. オプションの連鎖2. NULL値の結合3. 再帰型エイリアス4. アサーション署名5. P...

HTML 形式の JSON 出力の例 (テスト インターフェース)

JSON データを美しいインデント形式で表示するには、最も単純な JSON.stringify 関...

MySQLコンテナ間のレプリケーション構成例の詳細な説明

背景先週、会社で MySQL レプリケーションのトレーニングを受けたので、今週末は学んだことを実践す...

Vue3はフロントエンドのログを出力するためにaxiosインターセプターを使用する

目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...

HTML のオートコンプリートを無効にして履歴を表示しないようにする

入力ボックスには、コンテンツを入力するときに常に入力履歴が表示されます。これを無効にする現在の方法は...

MySQL の DOS ウィンドウの文字化け問題を解決する方法

文字化けしたコードの問題は次のとおりです。 この問題の原因は非常に単純です。コマンドラインのエンコー...

Windows で負荷分散に Nginx+Tomcat を使用するための完全な手順

序文今日は、Prince が Windows で負荷分散に Nginx + Tomcat を使用する...

XHTML: フレーム構造タグ

フレーム構造タグ <frameset></frameset>フレームを使用す...

Vue は URL に基づいて非同一オリジンのファイルをどのようにダウンロードするのか

一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...

Enterキーを押すとフォームが自動的に送信されます。予期せぬ発見

コードをコピーコードは次のとおりです。 <!DOCTYPE html> <html...

Linuxコマンドをバックグラウンドで実行する方法

通常、ターミナルでコマンドを実行する場合、別のコマンドの入力を開始する前に、現在のコマンドが終了する...