Redis+Nginx+Tomcatでセッション共有を実現

WBOY
リリース: 2016-07-29 08:58:24
オリジナル
926 人が閲覧しました

リソースのダウンロード

  • tomcat-redis-session-manager: https://github.com/jcoleman/tomcat-redis-session-manager/downloads
  • CentOS-6.5-64 ビットで jdk7 + mysql5.5 + をビルドするTomcat7 + nginx 環境構築
  • nginx + tomcat クラスターの構築については「Tomcat クラスターとセッション共有 + Nginx Load」をご参照ください
  • Redis のセットアップについては「Centos6.5 のインストール redis3.0.7」をご参照ください
  • ローカルダウンロード: jedis -2.2. 1.jar+commons-pool-1.6.jar+tomcat-redis-session-manager-1.2-tomcat-7.jar

実装

  • 2 つの Tomcat での conf/server.xml 構成の復元以下のノードには、jvmRoute を追加しないでください。
<code><span>Engine</span><span>name</span>=<span>"Catalina"</span><span>defaultHost</span>=<span>"localhost"</span>>?</code>
ログイン後にコピー

jvmRoute を追加すると、redis の内容が多くなり、jvmRoute がループで redis にコピーされ、メモリがいっぱいになります。以下に示すように:
Redis+Nginx+Tomcatでセッション共有を実現

  • 2 つの Tomcat 設定ファイル conf/context.xml を変更します
<code><span>Valve</span><span>className</span>=<span>"com.radiadesign.catalina.session.RedisSessionHandlerValve"</span> /><span>Manager</span><span>className</span>=<span>"com.radiadesign.catalina.session.RedisSessionManager"</span><span>host</span>=<span>"192.168.25.132"</span><span>port</span>=<span>"6379"</span><span>database</span>=<span>"0"</span><span>maxInactiveInterval</span>=<span>"60"</span> /></code>
ログイン後にコピー

上記の方法では、Tomcat 全体が Redis を使用してセッションを保存します。また、confCatalinalocalhost の下に XML スタートアップ プロジェクトを追加することもできます。このとき、ROOT.xmlを追加するなど、このプロジェクトのみにredisを使用します。コードは次のとおりです:

<code><span><?xml version='1.0' encoding='utf-8'?></span><span>Context</span><span>path</span>=<span>"/"</span><span>docBase</span>=<span>"F:\learn\tomcat\ewebsite"</span><span>debug</span>=<span>"0"</span><span>privileged</span>=<span>"true"</span>><span>Valve</span><span>className</span>=<span>"com.radiadesign.catalina.session.RedisSessionHandlerValve"</span> /><span>Manager</span><span>className</span>=<span>"com.radiadesign.catalina.session.RedisSessionManager"</span><span>host</span>=<span>"192.168.25.132"</span><span>port</span>=<span>"6379"</span><span>database</span>=<span>"0"</span><span>maxInactiveInterval</span>=<span>"60"</span> /><span><span>Context</span>></span></code>
ログイン後にコピー
  • Tomcatのlib配下に対応するjarを追加
    Redis+Nginx+Tomcatでセッション共有を実現

Test

テスト方法については、を参照してください。 「Tomcat クラスターとセッション共有 + Nginx Load」へ
同時に、SessoionId が保存されていることを確認します。flushdb を実行すると、SessoionId が変更されます。 $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i
').text(i)); }; $numbering.fadeIn(1700); }); }); Redis+Nginx+Tomcatでセッション共有を実現

上記は、Redis+Nginx+Tomcat によるセッション共有の実装を、関連する内容も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート