Tomcat Nginx Redis セッション共有プロセス図

Tomcat Nginx Redis セッション共有プロセス図

1. 準備

ミドルウェア: Tomcat、Redis、Nginx

Jar パッケージ: commons-pool2-2.4.2.jar、jedis-2.8.0.jar、tomcat-redis-session-manager-2.0.0.jar

2. Tomcatを設定する

複数のTomacatは異なるポート番号で設定する必要がある

/ライブラリ

jarパッケージをこの場所に保存します

設定ファイル

コンテキスト

host は Redis の IP アドレス、port はポート、database はデータベースです。

エンギンクス

nginx.conf は、

アップストリームとは、構成サーバー リストを意味します。この例では、ポート 8080 と 9999 を持つ 2 つの tomcat が起動されます。

proxy_pass はプロキシ サーバーを構成することを意味します。

この構成は、ローカル (192.168.0.113) のポート 80 をリッスンし、ラウンドロビン方式で 8080 および 9999 の Tomcat サーバーに要求を転送することを意味します。

レディス

Redis は特別な設定を必要とせず、起動するだけです。

3. テスト

Redis サービス、2 つの Tomcat サーバー、および Nginx サーバーを順番に起動します。

2 つのサーバーの sessionId が一致しているかどうかを確認するために、Tomcat の起動ページにマークを追加します。

/webapps/ROOT/index.jsp:

IV. 結果

F5 キーを押してページを更新してもポートに対応するページに切り替えることができない場合は、ブラウザのキャッシュが原因である可能性があります。

解決策: キャッシュをクリアして更新、Alt+F5

この時点で、複数の Tomcat サービスが継続的にポーリングしており、sessionId が一貫していることがわかります。

次に、Redis デスクトップ管理ツールを使用して情報を表示します。

セッション情報が管理のためにRedisに引き渡されていることがわかります。

成功を達成する。

5. デメリット

この方法はTomcatコンテナに依存します。ミドルウェアをJettyなどに置き換えた場合は動作しません。

より良い実装方法もあります: Spring Session + Redis

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

以下もご興味があるかもしれません:
  • Windows で負荷分散に Nginx+Tomcat を使用するための完全な手順
  • 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リスナーの使用例の詳細な説明

推薦する

虫眼鏡ケースのJavaScriptオブジェクト指向実装

この記事では、参考までに、虫眼鏡のJavaScriptオブジェクト指向実装の具体的なコードを紹介しま...

MySQL ストアド プロシージャの原理と使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...

非常に実用的なMySQL関数の包括的な概要、詳細な例の分析チュートリアル

目次1. MySQLの関数の説明2. 単行関数の分類3. キャラクター機能4. 数学関数5. 日付と...

MySQL での挿入効率のいくつかの例の比較

序文最近、仕事の都合で、約 1000w の大量のデータを MySQL に挿入する必要があり、時間がか...

スライド階段効果を実現するjQuery

この記事では、階段スライド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具...

WeChatアプレットのスクロールビューが左右の連動を実現

この記事では、WeChatアプレットのスクロールビューの左右連動を実現するための具体的なコードを参考...

Vue デフォルトスロットの理解とサンプルコード

目次スロットとは何かデフォルトスロットの理解コードスニペット要約するスロットとは何かスロットは、親コ...

HTMLタグの書き方でよくある間違い

注意を払う必要があります。HTML Police がコードを調べて、意味のないタグをすべて見つけ出す...

js での typeof の使い方を理解するための記事

目次ベース戻り値の型文字列とブール値数値とbigintシンボル未定義関数物体他のよくある質問参照エラ...

Reactにおける不変値の説明

目次不変の値とは何ですか?不変の値を使用するのはなぜですか? Reactのパフォーマンス最適化は不変...

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...

Centos7 システムでの python2 と python3 の共存

最初のステップは、Python のバージョン番号とインストール パスを確認することです。 上記のビュ...

海外のウェブページのカラーマッチング事例20選共有

この記事では、優れた Web ページのカラー マッチングの事例を 20 件集めて紹介します。これらの...

vue で wangEditor を使用する方法と、データをエコーし​​てフォーカスを取得する方法

バックグラウンド管理プロジェクトを行う際には、リッチテキストエディタがよく使用されます。ここでは、非...

Mac での MySQL と Squel Pro の設定

Node.js の人気に応えて、最近、いくつかのサーバー側機能を実装するために Node.js を使...