国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Backend-Entwicklung PHP-Tutorial Nginx Tomcat Redis implementiert die Sitzungsfreigabe

Nginx Tomcat Redis implementiert die Sitzungsfreigabe

Aug 08, 2016 am 09:24 AM
manager nbsp redis session tomcat

nginx Als derzeit beliebtester Open-Source-Reverse-Proxy HTTP-Server wird er zur Implementierung von Ressourcen-Caching, Webserver verwendet Lastausgleich und andere Funktionen werden aufgrund ihres geringen Gewichts, ihrer hohen Leistung, ihrer hohen Zuverl?ssigkeit und anderer Eigenschaften h?ufig in Internet--Projekten verwendet. Es gibt online umfangreiche Einführungen zu verwandten Konzepten. Nachdem der verteilte Webserver-Cluster bereitgestellt wurde, ist es notwendig, die Sitzungsfreigabe für die Implementierung von Tomcat Server Es gibt verschiedene L?sungen, wie z. B. Tomcat-Cluster-Sitzung Broadcast, Nginx-IP-HashStrategie, Nginx Sticky Module und andere L?sungen. In diesem Artikel wird haupts?chlich die Freigabel?sung für die Verwendung des Redis -Servers für Sitzung vorgestellt Einheitliche Speicherverwaltung.

Die relevante Anwendungsstruktur bezieht sich auf die folgende Abbildung:

2. Umgebungskonfiguration

Die Testumgebung basiert auf

Linux CentOS 6.5 , bitte installieren Sie zuerst Tomcat, Redis, Nginx verwandte Umgebungen wird in diesem Artikel nicht im Detail beschrieben. Die Testkonfiguration ist wie folgt:

Version

?Version

?IP_Port

?nginx

?1.6.2

?10.129.221.70:80

?tomcat_1

?7.0.54

?10.129.221.70:8080

?tomcat_2

?7.0.54

?10.129.221.70:9090

?redis

?2.8.19

?10.129.221.70:6379

IP_Port
nginx 1.6.2 10.129.221.70:80
tomcat_1 7.0.54 10.129.221.70 :8080
tomcat_2 7.0.54 10.129.221.70:9090
redis 2.8.19 10.129 .221.70:6379

3. Erstellen Sie tomcat-redis-session-manager-master

1 Da der Quellcode auf gradle, bitte konfigurieren Sie zuerst die gradle -Umgebung.

2, holen Sie sich tomcat-redis-session-manager-master von github Quellcode, die Adresse lautet wie folgt:

Quelle anzeigendrucken?

1. https://github.com/jcoleman/tomcat-redis-session-manager

3, finden Sie build.gradle in der Quellcodedatei , da der Autor ein Drittanbieter-Warehouse (sonatype) verwendet, müssen Sie ein Konto registrieren, was zu mühsam ist. Verwenden Sie einfach mavenCentral Warehouse, w?hrend signaturbezogene Skripte mit Anmerkungen versehen und Ausgabeskripte für abh?ngige Pakete hinzugefügt werden copyJars (dist Verzeichnis), ge?ndert build.gradle Die Datei lautet wie folgt:

Quelle anzeigen

drucken?001.apply-Plugin: 'java'

002.apply-Plugin: 'maven'

003. Plugin anwenden: 'signing'

004.group = 'com.orangefunction'

006.version = '2.0.0'

007.

008.repositories {

009.mavenCentral()

010.}

011.

012.compileJava {

013.sourceCompatibility = 1.7

014.targetCompatibility = 1.7

015.}

016.

017.dependencies {

018.compile-Gruppe: 'org.apache', Name: 'tomcat-catalina', Version: '7.0.27'

019.compile-Gruppe: 'redis.clients', Name: 'jedis', Version: '2.5.2'

020.compile-Gruppe: 'org.apache.commons', Name: 'commons-pool2', Version: '2.2'

021.//compile-Gruppe: 'commons-codec', Name: 'commons-codec', Version: '1.9'

022.testCompile-Gruppe: 'junit', Name: 'junit', Version: '4.+'

024.testCompile 'org.hamcrest:hamcrest-core:1.3'

025.testCompile 'org.hamcrest:hamcrest-library :1.3'

026.testCompile 'org ', Version: '7.0.27'

028.}

029.

030.task javadocJar(Typ: Jar, dependOn: javadoc) {

031.classifier = 'javadoc'

032.from 'build/docs/javadoc'

033.}

034.

035. Aufgabe QuellenJar(Typ: Jar) {

036 .from sourceSets.main.allSource

037.classifier = 'sources'

038.}

039.

040.artifacts {

041.archives jar

042.

043.archives javadocJar

044.archives resourcesJar

045.??>

046.

047.//Signing {

048.// Sign Configurations.Archives

049 .//}

050.

051.task copyJars(type: Copy) {

052.from Configurations.runtime

053.into ' dist'

054.}

055.signPom(deployment) }

060.//repository(url: '

https://oss.sonatype.org/service/local/staging/deploy/ maven2/

') {

062.// Authentifizierung (Benutzername: sonatypeUsername, Passwort: sonatypePassword)

063.//}

064.//repository (url: '

https://oss.sonatype.org/content/repositories/snapshots

') {

065.// Authentifizierung(Benutzername: sonatypeUsername, Passwort: sonatypePassword)

066.//}

067.

068.pom.project {

069.name 'tomcat-redis-session-manager'

070.packaging 'jar'

071.description 'Tomcat Redis Session Manager ist eine Tomcat-Erweiterung zum Speichern von Sitzungen Redis'

072.url '

https:// github.com/jcoleman/tomcat-redis-session-manager'

073 074.issueManagement {

075.url '

https: //github.com

:jcoleman/tomcat-redis-session-manager/issues'

076.system ' GitHub Issues'

077.}

078 081.connection 'scm:git:

git://github.com/jcoleman/tomcat-redis-session-manager. git

'

082.developerConnection 'scm:git:git@github.com:jcoleman/tomcat-redis-session-manager.git'

083.}

084 ??>085.licenses {

086.license {

087.name 'MIT'

088.url '

http://opensource.org/licenses /MIT

'089.distribution 'repo'

090.}

091.}

092 093.developers {

094.developer {

095.id 'jcoleman'

096.name 'James Coleman'

097.email 'jtc331 @gmail.com'

098.url '

https://github.com/jcoleman

'

099.}100.}

101.}

102.}

103.}

104.}

4

, führen Sie den Befehl

gradle aus, um den Quellcode zu erstellen, zu kompilieren und tomcat-redis-session-manager-master und Abh?ngigkeiten auszugeben GlasPaketQuelle anzeigen

Drucken

?1.gradle build -x test copyJars Alle Ausgabelistendateien lauten wie folgt:

4.

Tomcat

Konfiguration

Installieren und konfigurieren Sie zwei Maschinen Tomcat Web

Server, bzw. ?ndern Sie die

Connector Portnummern auf 8080 und 9090 und stellen Sie sicher, dass sie alle ordnungsgem?? funktionieren. Natürlich k?nnen Sie dieselbe Portnummer verwenden, wenn sie auf verschiedenen Hosts verteilt sind. 5. Schreiben Sie eine Testseite Um den Zugriff von

2

Taiwan

Tomcat Schreiben Sie die Seite und verpacken Sie sie für die Bereitstellung: 1, schreiben Sie eine Testseite für

tomcat_1, zeigen Sie "Antwort von Tomcat_1" an, und die Seite bietet eine Schaltfl?che zum Anzeigen des aktuellen Sitzungswerts, des Pakets und der Ver?ffentlichung in tomcat_1 Server; 2, schreiben Sie eine Testseite für

tomcat_2 , zeigt " Antwort von tomcat_2 " an, und die Seite bietet eine Schaltfl?che zum Anzeigen des aktuellen Sitzungs-Werts, Pakets und Ver?ffentlichen Sie es auf dem Server tomcat_2 . Besuchen Sie zu diesem Zeitpunkt http://10.129.221.70:8080 und http://10.129.221.70:9090

-Adresse, da auf verschiedene

Webserver zugegriffen wird, sodass jeder unterschiedliche Seiteninhalte anzeigt und Sitzung Werte müssen unterschiedlich sein. 6. tomcat session manager Konfiguration ?ndern Sie die Konfiguration mit

tomcat-redis-session-manager-master

Als Tomcat-Sitzung

Manager

1 bzw. das im dritten generierte tomcat-redis-session-manager-master und Abh?ngigkeiten

jar Paket umfasst tomcat lib Ordner des Installationsverzeichnisses 2, entsprechend 2 ?ndern Taiwan

Tomcat s context.xml -Datei, verwenden Sie tomcat-redis-session-manager - Master dient als Sitzungsmanager und gibt au?erdem die Redis-Adresse und den Port an. context.xml Fügen Sie die folgende Konfiguration hinzu: Quelle anzeigen

Drucken ?

1.

2.3.4.host='localhost'

5.port='6379'

6.database='0'

7.maxInactiveInterval='60' />

8.

3

, starten Sie jeweils

2

Stationen

Tomcat Server neu. 7. nginx Konfiguration1

, Standard ?ndern .conf Konfigurationsdatei, aktivieren Sie

Upstream Lastausgleich Tomcat-Cluster und verwenden Sie standardm??ig Polling. Quelle anzeigendrucken?

01.upstream site {

ip_hash; //Verteilt basierend auf ip_hash

02.server localhost:8080;

03.server localhost:9090; 04.} 05.

06.server {

07.listen 80;

08.server_name??localhost;

09.?

10.#charset?koi8-r;

11.#access_log??/var/log/nginx/log/host.access.log??main;

12.?

13.location?/?{

14.#root???/usr/share/nginx/html;

15.#index??index.html?index.htm;

16.index??index_tel.http://www.it165.net/pro/webjsp/"?target="_blank"class="keylink">jsp?index.http://www.it165.net/pro/webjsp/"target="_blank"?class="keylink">jsp?index.html?index.htm?;?

17.proxy_redirect??????????off;???

18.proxy_set_header????????Host????????????$host;???

19.proxy_set_header????????X-Real-IP???????$remote_addr;???

20.proxy_set_header????????X-Forwarded-For?$proxy_add_x_forwarded_for;???

21.client_max_body_size????10m;???

22.client_body_buffer_size?128k;???

23.proxy_buffers???????????32?4k;?

24.proxy_connect_timeout???3;???

25.proxy_send_timeout??????30;???

26.proxy_read_timeout??????30;??

27.proxy_pass?http://site;

28.?

29.??>

30.?

31.#error_page??404??????????????/404.html;

32.?

33.#?Serverfehlerseiten?zur?statischen?Seite?/50x.html umleiten

34.#

35.error_page???500?502?503?504??/50x.html;

36.location?=?/50x.html?{

37.root???/usr/share/nginx/html;

38.}

39.?

40.#?Proxy?der?PHP-Skripte?an?Apache, der?auf?127.0.0.1:80?h?rt

41.#

42.#location?~?.php$?{

43.#????proxy_pass???http://127.0.0.1;

44.#}

45.?

46.#?übergeben?die?PHP-Skripte?an den?FastCGI-Server, der?127.0.0.1:9000 überwacht.

47.#

48.#location?~?.php$?{

49.#????root???????????html;

50.#????fastcgi_pass???127.0.0.1:9000;

51.#????fastcgi_index??index.php;

52.#????fastc gi_param??SCRIPT_FILENAME /scripts$fastcgi_script_name;

53.#????include????????fastcgi_params;

54.#}

55.?

56.#?Zugriff?auf?.htaccess-Dateien verweigern,?wenn?Apaches?Dokumentstammverzeichnis?

57.#?mit?nginx?übereinstimmt

58.#

59. #location?~?/.ht?{

60.#????deny??alle;

61.#}

62.}

2nginx?重新加載配置

Quelle anzeigendrucken?

1.nginx?-s?reload

八、配置Tomcat

保存的

Sitzung實體是放到redis中,tomcat可以記錄session-id值與redis 進行對比,session-id是從Cookie中取得的,不同的tomcat存儲sessioncookie的位置是不同的,所以必須修改所有tomcatconf/context.xml,修改內(nèi)容如下:

?sessionCookiePath="/">

九、測試結(jié)果

1、訪問?http://10.129.221.70:8080?直接請求到tomcat_1服務(wù)器,

    顯示

?“?Antwort?von?tomcat_1?”,?Sitzung?值為'56E2FAE376A47F1C0961D722326B8423';

2, besuchen Sie http://10.129.221.70:9090 Anfragen direkt an tomcat_2 Server,

Anzeige ?Antwort von Tomcat_2“ , Sitzung Wert ist '56E2FAE376A47F1C0961D722326B8423'; ??> (Standardport

80

) Anfragen an nginx Reverse-Proxy zum angegebenen Web Der Server ist aufgrund der standardm??igen Polling-Lademethode Der durch wiederholtes Aktualisieren der Seite angezeigte Inhalt ist in " Antwort von tomcat_1 " und "Antwort von Tomcat_2 " wechselt zwischen, aber der Wert für

Sitzung

bleibt bei '56E2FAE376A47F1C0961D722326B8423'; 4, verwenden Sie redis-cli , um eine Verbindung herzustellen Auf dem

Redis

-Server wird in der Ansicht ?There is "56E2FAE376A47F1C0961D722326B8423" key of session Daten und Wert sind serialisierte Daten. 10. Bisher Sitzung basierend auf nginx Load Balancing Tomcat Cluster realisiert

Konsistenz. Startsequenz: redis——nginx——tomcat

redisStartskript=/usr/locat/redis.2.0.1/src/redis-servernginx+tomcat+redis realisiert die Sitzungsfreigabe Das Obige stellt die Nginx-Tomcat-Redis-Implementierung der Sitzungsfreigabe vor, einschlie?lich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

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

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
So aktualisieren Sie Debian Tomcat So aktualisieren Sie Debian Tomcat May 28, 2025 pm 04:54 PM

Das Aktualisieren der Tomcat -Version im Debian -System enth?lt im Allgemeinen den folgenden Vorgang: Vor der Durchführung des Update -Vorgangs stellen Sie sicher, dass Sie die vorhandene Tomcat -Umgebung vollst?ndig erfüllen. Dies deckt den Ordner /opt /tomcat und seine zugeh?rigen Konfigurationsdokumente wie Server.xml, context.xml und web.xml ab. Die Sicherungsaufgabe kann über den folgenden Befehl ausgeführt werden: SudoCP-R/Opt/Tomcat/Opt/tomcat_backup erhalten Sie die neue Version Tomcat, um die offizielle Website von Apachetomcat zu erhalten, um die neueste Version herunterzuladen. Laut Ihrem Debian -System

Wie begrenzte ich Benutzerressourcen in Linux? Wie konfiguriere ich Ulimit? Wie begrenzte ich Benutzerressourcen in Linux? Wie konfiguriere ich Ulimit? May 29, 2025 pm 11:09 PM

Linux -System beschr?nkt die Benutzerressourcen durch den Befehl ulimit, um eine überm??ige Verwendung von Ressourcen zu verhindern. 1.ulimit ist ein integrierter Shell-Befehl, mit dem die Anzahl der Dateideskriptoren (-n), die Speichergr??e (-V), die Threadzahl (-U) usw. begrenzt werden kann, die in Soft Limit (aktueller effektiver Wert) und hartem Grenze (maximale Obergrenze) unterteilt sind. 2. Verwenden Sie den Befehl ulimit direkt zur vorübergehenden ?nderung, wie z. B. Ulimit-N2048, ist jedoch nur für die aktuelle Sitzung gültig. 3. Für den dauerhaften Effekt müssen Sie /etc/security/limits.conf- und PAM -Konfigurationsdateien ?ndern und SessionRequiredpam_Limits.so hinzufügen. 4. Der SystemD -Dienst muss Lim in der Einheitsdatei einstellen

Was bedeutet Java Middleware? Definition und typische Anwendungen von Middleware Was bedeutet Java Middleware? Definition und typische Anwendungen von Middleware May 28, 2025 pm 05:51 PM

Java Middleware ist eine Software, die Betriebssysteme und Anwendungssoftware verbindet und allgemeine Dienste bietet, um Entwicklern dabei zu helfen, sich auf die Gesch?ftslogik zu konzentrieren. Zu den typischen Anwendungen geh?ren: 1. Webserver (wie Tomcat und Jetty), das HTTP -Anforderungen abwickelt; 2. Meldungswarteschlange (wie Kafka und Rabbitmq), die die asynchrone Kommunikation behandelt; 3. Transaktionsmanagement (z. B. Springtransaction), das die Datenkonsistenz gew?hrleistet; 4. Orm Framework (wie Hibernate und MyBatis), was die Datenbankvorg?nge vereinfacht.

Laravel Page Cache -Richtlinie Laravel Page Cache -Richtlinie May 29, 2025 pm 09:15 PM

Die Seiten -Caching -Strategie von Laravel kann die Leistung der Website erheblich verbessern. 1) Verwenden Sie Cache -Helferfunktionen, um das Seiten zwischen Seiten zu implementieren, wie z. 2) W?hlen Sie das entsprechende Cache -Backend wie Redis aus. 3) Achten Sie auf Probleme mit der Datenkonsistenz und Sie k?nnen feink?rnige Caches oder Event-H?rer verwenden, um den Cache zu l?schen. 4) Die weitere Optimierung wird mit Routing -Cache-, Ansichts -Cache- und Cache -Tags kombiniert. Durch die rationale Anwendung dieser Strategien kann die Leistung der Website effektiv verbessert werden.

So konfigurieren Sie den Speicher von Tomcat unter Debian So konfigurieren Sie den Speicher von Tomcat unter Debian May 23, 2025 pm 09:51 PM

Das Konfigurieren von Tomcats Speicher im Debian -System beinhaltet normalerweise die ?nderung von Tomcats Startup -Skript Catalina.sh. Hier sind einige Tipps zur wichtigen Speicherkonfiguration: ?ndern Sie die Datei catalina.sh, um die Datei /usr/share/tomcat9/bin/catalina.sh zu ?ffnen (der Pfad kann je nach Tomcat -Version variieren). Fügen Sie die folgende Konfiguration oben in der Datei hinzu: exportjava_opts = "-xms512m-xmx1024m-xx: maxmetaspaceSize

Was ist Redis und wie unterscheidet es sich von herk?mmlichen SQL -Datenbanken? Was ist Redis und wie unterscheidet es sich von herk?mmlichen SQL -Datenbanken? May 24, 2025 am 12:13 AM

RediSISunique-komparedTotraditionalsqldatabaseSInseveralways: 1) ItoperatePliminalinmemory, EnablingFasterReadandWriteoperations.2) ituSeSaflexibleKey-valedatamodel, unterstützend variousDatatypeslikestringsandsets Sets.3) RedissisSsets

Redis Master-Slave-Replikationsfehler Fehlerbehebungsprozess Redis Master-Slave-Replikationsfehler Fehlerbehebungsprozess Jun 04, 2025 pm 08:51 PM

Zu den Schritten zur Fehlerbehebung und Reparatur von Redis-Master-Slave-Replikationsfehlern geh?ren: 1. überprüfen Sie die Netzwerkverbindung und verwenden Sie Ping oder Telnet, um die Konnektivit?t zu testen; 2. überprüfen Sie die Redis-Konfigurationsdatei, um sicherzustellen, dass die Replikation und die Wiederholungs-Timeout korrekt eingestellt sind. 3. überprüfen Sie die Redis -Protokolldatei und finden Sie Fehlerinformationen. 4. Wenn es sich um ein Netzwerkproblem handelt, starten Sie das Netzwerkger?t neu oder wechseln Sie den alternativen Pfad. 5. Wenn es sich um ein Konfigurationsproblem handelt, ?ndern Sie die Konfigurationsdatei. 6. Wenn es sich um ein Problem mit der Datensynchronisierung handelt, verwenden Sie den Befehl slaveof, um die Daten neu zu synchronisieren.

Schnelle Lage und Handhabung von Redis -Cluster -Knotenfehlern Schnelle Lage und Handhabung von Redis -Cluster -Knotenfehlern Jun 04, 2025 pm 08:54 PM

Die Schnellpositions- und Verarbeitungsschritte für den Fehler mit Redis -Cluster -Knoten sind wie folgt: 1. Best?tigen Sie den Fehler: Verwenden Sie den Befehl cluSernodes, um den Knotenstatus anzuzeigen. Wenn der Fehler angezeigt wird, f?llt der Knoten aus. 2. Ermitteln Sie die Ursache: überprüfen Sie das Netzwerk, die Hardware und die Konfiguration. Zu den h?ufigen Problemen geh?ren Ged?chtnisgrenzen, die überschritten werden. 3. Reparatur und Wiederherstellung: Treffen Sie Ma?nahmen, die auf den Gründen basieren, z. B. das Neustart des Dienstes, das Ersetzen der Hardware oder das ?ndern der Konfiguration. 4. Hinweise: Stellen Sie die Datenkonsistenz sicher, w?hlen Sie geeignete Failover -Richtlinien und stellen Sie die überwachungs- und Alarmsysteme fest.

See all articles