セッション共有
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-30 13:30:09
Tomcat の同時実行性のボトルネックの問題により、Tomcat を使用するほぼすべての Web アプリケーションにはセッションの非同期の問題があると言えます。 インターネットの情報をもとに、私も時間を見つけて実験してみました。 この記事に含まれるソフトウェアのダウンロードとインストールは、一つずつ読み飛ばす必要があると思います。 注: この記事では memcached と redis について口頭で議論するつもりはありません。すべてのネチズンが Google と Du Niang 自身に質問することを願っています。 (私の謙虚な意見では、ソフトウェアはソフトウェアとして多くの支持者を得ることができます。それぞれの利点があるはずです。重要なのは、実際のニーズに基づいて自分に合ったものを選択することです。) 一、nginx+tomcat+memcached (依存関係パッケージのダウンロード)
1.memcached 構成: (v1.4.13)
ノード 1 (192.168.159.131:11444)
ノード 2 (192.168) .159.131:11333)
2.tomcat設定
tomcat1 (192.168.159.128:8081)
tomcat2 (192.168.159.128:8082)
3.nginxは192.168にインストールされています。 159.131。
まず、セッションを memcached に保存するように Tomcat を設定します。 2 つの方法があります: 方法 1:server.xml で設定します。
ホスト ノードを見つけて、
方法 2: context.xml で構成します。
Context ノードを見つけて
を追加します。 次に、セッションが共有されたままであることをテストするように nginx を設定します。 upstream xxy.com {
server 192.168.159.128:8081 ;
server 192.168.159.128:8082 ;
}
log_format www_xy_com '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"';
server
{
listen 80;
server_name xxy.com;
location / {
proxy_pass http://xxy.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /data/base_files/logs/www.xy.log www_xy_com;
}最後に、アプリケーションを 2 つの Tomcat に配置し、memcached、tomcat、nginx を順番に起動します。 nginx にアクセスすると、2 つの Tomcat のセッションが共有されたままであることがわかります。
2. nginx+tomcat+redis (依存関係パッケージのダウンロード)
1.redis 構成 (192.168.159.131:16300) (v2.8.3)
2.tomcat 構成
トムキャット1( 192.168.159.130:8081)
tomcat2 (192.168.159.130:8082)
3.nginx は 192.168.159.131 にインストールされます。
まず、セッションを Redis に保存するように Tomcat を設定します。 2 つのメソッドがあり、どちらも server.xml または context.xml で設定されます。違いは、memcached ではマネージャー タグを追加するだけでよいのに対し、redis では次のコンテンツを追加する必要があることです。 (注: バルブ タグは)
次に、テスト セッションを共有し続けるように nginx を設定します。
upstream redis.xxy.com {
server 192.168.159.130:8081;
server 192.168.159.130:8082;
}
log_format www_xy_com '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"';
server
{
listen 80;
server_name redis.xxy.com;
location / {
proxy_pass http://redis.xxy.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /data/base_files/logs/redis.xxy.log www_xy_com;
}最後に、アプリケーションを 2 つの Tomcat に配置し、redis、tomcat、nginx を順番に起動します。 nginx にアクセスすると、2 つの Tomcat のセッションが共有されたままであることがわかります。
上記の 記事 で、説明が必要な点が 1 つあります: Tomcat 設定の server.xml にマネージャーが配置されている場合、ホット デプロイメントに Maven を使用すると失敗します。したがって、context.xml に配置することをお勧めします。
以上、セッション共有についてその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31