Sitzungsfreigabe

WBOY
WBOYOriginal
2016-07-30 13:30:091269Durchsuche
Aufgrund des Parallelitätsengpassproblems von Tomcat kann man sagen, dass fast alle Webanwendungen, die Tomcat verwenden, Probleme mit der Sitzungsdesynchronisierung haben. Ich habe auch Zeit gefunden, anhand der Informationen im Internet zu experimentieren. Das Herunterladen und Installieren der Software wird in diesem Artikel einzeln übersprungen. Ich denke, Sie müssen ihn nicht lesen. Hinweis: In diesem Artikel wird keine mündliche Diskussion über Memcached und Redis geführt. Ich hoffe, dass alle Internetnutzer Google und Du Niang selbst fragen. (Meiner bescheidenen Meinung nach können sie als Software viele eigene Unterstützer gewinnen. Sie müssen ihre eigenen Vorteile haben. Der Schlüssel liegt darin, basierend auf den tatsächlichen Bedürfnissen diejenige auszuwählen, die zu Ihnen passt. )1. nginx+tomcat+memcached (Abhängigkeitspaket-Download)

1.memcached-Konfiguration: (v1 .4.13 )

Knoten 1 (192.168.159.131:11444)

Knoten 2 (192.168.159.131:11333)

2.Tomcat-Konfiguration

tomcat1 (192.168.159.128:8081)

tomcat2 (192.168.159.128:8082)

3.nginx ist unter 192.168.159.131 installiert.

Konfigurieren Sie zunächst Tomcat so, dass die Sitzung im Memcached gespeichert wird. Es gibt zwei Methoden:

Methode 1: Konfigurieren Sie in server.xml.

Suchen Sie den Hostknoten und fügen Sie

 

Methode 2: Konfigurieren Sie in context.xml hinzu.

Suchen Sie den Kontextknoten und fügen Sie

hinzu. Zweitens konfigurieren Sie nginx, um zu testen, ob die Sitzung gemeinsam genutzt bleibt. 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; }

Abschließend legen Sie Ihre Anwendung in zwei Tomcats ab und starten nacheinander Memcached, Tomcat und Nginx. Greifen Sie auf Ihren Nginx zu und Sie werden feststellen, dass die Sitzungen in den beiden Tomcats weiterhin gemeinsam genutzt werden können.

2. nginx+tomcat+redis (Abhängigkeitspaket-Download)

1.redis-Konfiguration ( 192.168.159.131:16300) (v2.8.3)

2.tomcat-Konfiguration

tomcat1 (192.168.159.130:8081)

tomcat2 (192.168.159.130: 8082)

3.nginx ist unter 192.168.159.131 installiert.

Konfigurieren Sie zunächst Tomcat so, dass die Sitzung auf Redis gespeichert wird. Es gibt zwei Methoden, die auch in server.xml oder context.xml konfiguriert sind. Der Unterschied besteht darin, dass memcached nur ein Manager-Tag hinzufügen muss, während redis den folgenden Inhalt hinzufügen muss: (Hinweis: Das Ventil-Tag muss Seien Sie vor dem Manager. )

Zweitens konfigurieren Sie Nginx so, dass die Testsitzung gemeinsam genutzt wird.

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; }

Fügen Sie Ihre Anwendung abschließend in zwei Tomcats ein und starten Sie nacheinander Redis, Tomcat und Nginx. Greifen Sie auf Ihren Nginx zu und Sie werden feststellen, dass die Sitzungen in den beiden Tomcats weiterhin gemeinsam genutzt werden können.

Im obigen Artikel muss Folgendes erklärt werden: Wenn die Tomcat-Konfiguration vorhanden ist Platzieren Sie den Manager in server.xml. Wenn Sie Maven für die Hot-Bereitstellung verwenden, tritt ein Fehler auf. Daher empfehle ich, es in context.xml zu platzieren.

Das Obige hat die Sitzungsfreigabe eingeführt, einschließlich einiger Aspekte davon. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn