Nginx Tomcat7 (Tomcat6) Memcached-Cluster-Sitzungsfreigabe

WBOY
Freigeben: 2016-08-08 09:30:59
Original
1036 Leute haben es durchsucht

Nginx+Tomcat7+Memcached-Cluster-Sitzungsfreigabe

Prinzip:

Verwendet hauptsächlich das Open-Source-Tomcat-Plug-in „memcached-session-manager“ (im Folgenden als msm bezeichnet), um das Original von Tomcat zu ändern Der Sitzungsspeichermechanismus wird im verteilten Cache-Memcache abgelegt, wodurch die gemeinsame Nutzung der Sitzung realisiert wird.

Herunterladen

1. Laden Sie nginx herunter

2 ersetzt. jar-Paket, memcached-session-manager-tc6)

3. Laden Sie memcached herunter

Die oben genannten Dateien sind im komprimierten Paket enthalten.

Erklärung

1 Die beiden Kater sind kopiert, daher sind sie im Grunde gleich, daher werde ich hier nicht auf Details eingehen.

2.  Apache-Tomcat-7.0.57-2Zugriffsport 8081

3.  Apache-Tomcat-7.0.57-3Zugriffsport8082

4.  Webapps unter 8081 - >In test.jsp in ROOT ist ein Wert in der Sitzung platziert und der Schlüssel ist Name. Im Gegenteil, er wird nur unter 8082 erhalten. Wenn dieser Wert unter 8082 erhalten werden kann, ist die Konfiguration der Sitzungsfreigabe erfolgreich. (Für diesen Schritt ist keine Konfiguration des Nginx-Clusters erforderlich)

Konfiguration

1. Legen Sie das folgende JAR-Paket in das Tomcat-Lib-Verzeichnis

2. context.xml-Datei Fügen Sie die folgende Konfiguration zu

Die memcachedNodes hinzu, um den memcachednode , mehrere Knoten können durch “, getrennt werden, wie zum Beispiel :n1:localhost: 11211,n2:localhost:11212

Die Beschreibung des Manager-Label-Attributs ist unten aufgeführt, Sie können es verstehen.

3. Tomcat -> Webapps Ich werde hier nicht viel sagen, es ist sehr einfach.

4. Nginx ist vollständig in nginx.conf konfiguriert. Es ist sehr einfach.

Zugriff starten

1. Starten Sie Nginx. Die Festplatte, auf der Nginx abgelegt wird, können Sie selbst bestimmen.

3. Besuchen Sie http://localhost/test.jsp

Mehrmals nacheinander aktualisieren

Wenn sowohl 8081 als auch 8082 die Wörter Nginx+Tomcat ausdrucken können ... usw., herzlichen Glückwunsch, die Konfiguration ist erfolgreich.

Manager-Tag-Attributbeschreibung

1.className Erforderlicher Klassenname: de.javakaffee.web.msm.MemcachedBackupSessionManager

2.memcachedNodes

erforderlich >session Der Modus ist Sticky oder Non-Sticky, der Standardwert ist true

, erforderlich, wenn mehrere Tomcat

vorhanden sind Verwenden Sie nicht-klebrige 4.lockingMode OptionalNur ​​nicht-klebrigeSitzung Nur verwendet wird, ist der Standardwert nonenone:

Niemals sperren

Sitzung alle: Sitzungwird gesperrt, bis die Anfrage endetAuto: Für schreibgeschützte Anfragen
Sitzung wird nicht gesperrt. Wenn es sich um eine nicht schreibgeschützte Anfrage handelt, wird Sitzung gesperrt
uriPattern:< ; regexp>: entspricht der Anfrage
uri
und der Abfragezeichenfolge unter Verwendung regulärer Ausdrücke. Nur diejenigen, die übereinstimmen, werden gesperrt. 5.requestUriIgnorePattern OptionalDieses Attribut kann nicht geändert werden
Sitzung. Wenn auf statische Dateien wie CSS, Javascript, Bilder usw. mit demselben

Tomcat

und derselben Anwendung Kontext Vorausgesetzt, diese Anfragen werden auch über memcached-session-manager

durchlaufen. Diese Anfragen ändern sich jedoch selten innerhalb einer http-Sitzung, sodass sie keine eine Sitzung auslösen müssen Sicherung. Damit diese statischen Dateien keine Session-Sicherung auslösen müssen, können Sie diese Attributdefinition verwenden. Dieses Attribut muss der regulären Spezifikation javaregex entsprechen. Zum Beispiel: ".*.(png|gif|jpg|css|js)$"

6.sessionBackupAsync OptionalGibt an, ob die Sitzung asynchron im Memcached gespeichert werden soll in. Wenn auf true gesetzt, funktioniert die Einstellung backupThreadCount, wenn sie auf false , die durch sessionBackupTimeout festgelegte Ablaufzeit funktioniert.

7.backupThreadCount Optional wird zum asynchronen Speichern verwendetSitzung, (wenn sessionBackupAsync="true"). Standardwert ist die Anzahl der Kerne der CPU.

8.sessionBackupTimeout

Optional Backup festlegenSitzung Die verwendete Zeit. Wenn der Vorgang diese Zeit überschreitet, schlägt das Speichern fehl. Dieses Attribut funktioniert nur, wenn sessionBackupAsync="false". Standard100ms

Erweitern

Einstellung der Sitzungsgültigkeitszeit

Die Einstellung der Sitzungsgültigkeitszeit ist die gleiche wie bei gewöhnlichen Webprogrammen. Fügen Sie den folgenden Code zu web.xml hinzu:

<

session-config> 

<

session-timeout>10 session-timeout> session-config >Der rote Teil ist das Timeout in Minuten.

Hinweis:

Mehrere Webprogramme teilen sich die Sitzung im Memcached. Abhängig von der Timeout-Konfiguration treten die folgenden Situationen auf:

1. Sitzungsgültigkeitszeit in mehreren Webprogrammen Die Einstellungen sind konsistent und die Ablaufzeit ist konsistent.

2 Wenn die Einstellungen für die Sitzungsgültigkeitszeit in mehreren Webprogrammen inkonsistent sind, hat die kürzeste der eingestellten Zeiten Vorrang.

Sitzungsüberwachung

Fügen Sie den folgenden Code in web.xml hinzu:

<listener>
  <listener-class>
     listener.SessionListener  (根据自己的包名进行配置)
  </listener-class>
  </listener>
Nach dem Login kopieren

Beispielcode:

public class SessionListener implements HttpSessionListener {
	@Override
	public void sessionCreated(HttpSessionEvent event) {
		System.out.println("--------------------------create");
		HttpSession session = event.getSession();
	}


	@Override
	public void sessionDestroyed(HttpSessionEvent event) {
		System.out.println("--------------------------destroy");
	}
}
Nach dem Login kopieren

Download-Adresse: http://download.csdn.net/ Detail /kevon_sun/8371071

Das Obige stellt die gemeinsame Nutzung von Nginx Tomcat7 (Tomcat6) Memcached-Clustern vor, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage