Heim Datenbank Redis So implementieren Sie persistente Sitzungen über Nginx+Tomcat+Redis

So implementieren Sie persistente Sitzungen über Nginx+Tomcat+Redis

May 28, 2023 am 08:37 AM
redis nginx tomcat

Bereitstellungsumgebung

centos7
nginx1.10.2
tomcat7.0
redis3.2.3
mariadb 5.5.44

Erforderliche Pakete

commons-pool2 -2.2. jar
jedis-2.5. jar
tomcat-redis-session-manager-2.0.0.jar

Solo-Blog

So implementieren Sie persistente Sitzungen über Nginx+Tomcat+Redis

1. Nginx-Serverkonfiguration

Vorbereitung vor der Installation

ntpdate 172.18.0.1.
iptables -f

Installieren Sie Nginx.

Yum Install Nginx. Die Auslassungspunkte sind weitere Standardparameter. Wenn kein besonderer Bedarf besteht, drücken Sie einfach den Standard-Port. Überprüfen Sie beim Starten des Servers, ob Port 80 normal überwacht

2. Tomcat-Serverkonfiguration

Die Konfigurationen der beiden Tomcat-Server sind genau gleich. Wiederholen Sie die folgenden Schritte auf beiden Hosts.

Vorbereitung vor der Installation. ntpdate 172.18.0.1. iptables -f. Tomcat installieren. yum Tomcat installieren. Solo bereitstellen


Kopieren Sie den Krieg Paket in das Webapps-Verzeichnis kopieren und Tomcat neu starten Hier ist etwas schief gelaufen.

vim /etc/nginx/nginx.conf
http {
...
upstream tomcatservers {
 server 172.18.68.21:8080;
 server 172.18.68.22:8080;
 }
...
server {
...
 location / {
  proxy_pass http://tomcatservers;
  }
...
}
}
systemctl start nginx
Nach dem Login kopieren

Solo für die Verbindung mit MySQL konfigurieren


Der h2-Laufzeitteil wird standardmäßig von Solo verwendet. Entfernen Sie nach dem manuellen Auskommentieren den MySQL-Laufzeitteil.
Legen Sie den Benutzernamen und das Passwort von MySQL fest und ändern Sie dann 172.18.68.41 in die IP-Adresse von MySQL (Haupt).

cp solo-2.4.1.war /usr/share/tomcat/webapps/
systemctl restart tomcat
Nach dem Login kopieren

Konfigurieren von Tomcat-Verbindungs-Reids

Tomcat-Verbindungs-Reids erfordert 3 Softwarepakete:

cd /usr/share/tomcat/webapps/solo-2.4/web-inf/classes
vim latke.properties
 #### server ####
 # 配置协议
 serverscheme=http
 # 配置客户端访问站点时的域名或ip,也就是前端nginx的域名
 serverhost=www.shuaiguoxia.com
 # 使用的端口
 serverport=80
Nach dem Login kopieren

Download-Adresse

Kopieren Sie das erforderliche JAR-Paket nach /usr/share/tomcat/lib/

#### h2 runtime ####
#runtimedatabase=h2
#jdbc.username=root
#jdbc.password=
#jdbc.driver=org.h2.driver
#jdbc.url=jdbc:h2:~/solo_h2/db
#jdbc.pool=h2
#
#### mysql runtime ####
runtimedatabase=mysql
jdbc.username=root      # 用户名
jdbc.password=123456     # 密码
jdbc.driver=com.mysql.jdbc.driver
jdbc.url=jdbc:mysql://172.18.68.41:3306/solo?useunicode=yes&characterencoding=utf8
jdbc.pool=druid
Nach dem Login kopieren
Ändern Sie die .xml-Datei des Wettbewerbs und fügen Sie der Datei die folgenden zwei Zeilen hinzu.

IP ist die Redisip-Adresse und der Port ist der Port, auf dem Redis lauscht.

commons-pool2-2.2.jar
jedis-2.5.2.jar
tomcat-redis-session-manager-2.0.0.jar
Nach dem Login kopieren
. ein Master und ein Slave. Nur die Konfigurationsdateien sind unterschiedlich, die anderen Prozesse sind gleich.

Vorbereitung vor der Installation

cp commons-pool2-2.2.jar /usr/share/tomcat/lib/
cp jedis-2.5.2.jar
cp tomcat-redis-session-manager-2.0.0.jar
Nach dem Login kopieren

Installieren Sie Redis.

yum install redis
re dis Slave-Knotenkonfiguration

Der Slave-Knoten ist auf schreibgeschützt eingestellt

vim /etc/tomcat/context.xml
#
 <valve classname="com.orangefunction.tomcat.redissessions.redissessionhandlervalve" />
 <manager classname="com.orangefunction.tomcat.redissessions.redissessionmanager" 
 host="172.18.68.31" 
 port="6379" 
 database="0" 
 maxinactiveinterval="60" />
Nach dem Login kopieren

Bestätigen Sie, dass die Master-Slave-Konfiguration erfolgreich ist

ntpdate 172.18.0.1
iptables -f
Nach dem Login kopieren

IV. MySQL-Serverkonfiguration

Es gibt zwei MySQL-Server, ein Master und ein Slave. Nur die Konfigurationsdateien sind unterschiedlich, die anderen Prozesse sind gleich. „Vorbereitung vor der Installation“ Die Synchronisierung muss aktiviert sein. Erstellen Sie dort Protokolle und ändern Sie Konfigurationsdateien Insgesamt sind es zwei Punkte.

1. Die Server-ID darf nicht in Konflikt geraten

2 Erstellen Sie einen autorisierten Benutzer auf dem Hauptserver, damit der Benutzer über Kopierberechtigungen verfügt.

vim /etc/redis.conf
bind 0.0.0.0       # 监听所有ip
port 6379        # 设定监听的端口
requirepass 123456      # 设定连接的密码
Nach dem Login kopieren

Erstellen Sie einen autorisierten Benutzer in der Zeile des Master-Servers, damit der Slave-Server die Berechtigung hat, die Daten des Master-Servers zu kopieren. Autorisierte Benutzer sollten das Gesetz der geringsten Rechte einhalten. Je präziser die IP-Adressen sind, die für die Verbindung zugelassen sind, desto besser.

bind 0.0.0.0       # 监听所有ip
slaveof 172.18.68.31 6379    # 设定主节点的ip+端口
masterauth 123456      # 主节点的连接密码
slave-read-only yes      # 从节点为只读
Nach dem Login kopieren


MySQL-Slave-Server-Konfiguration

MySQL-Master-Slave-Konfiguration unterscheidet sich nur in der Server-ID

shell > redis-cli -h 172.18.68.32  # 连接从服务器redis
127.0.0.1:6379> info replication   # 查看主从复制状态信息
# replication
role:slave
master_host:172.18.68.31     # 主节点ip
master_port:6379       # 主节点的端口
master_link_status:up     # up为主从同步正常
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_repl_offset:1420
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
Nach dem Login kopieren
Verbinden Sie sich vom Slave-Server aus mit der MySQL-Befehlszeilenkonfiguration, konfigurieren Sie die IP, den Benutzernamen und das Passwort des Master-Knotens . Die wichtigsten sind master_log_file und master_log_pos. Diese beiden Elemente sind die Ergebnisse der Abfrage auf dem Masterknoten und müssen mit den Abfrageergebnissen des Masterknotens übereinstimmen.

yum install mariadb
#
#
#运行初始化脚本对mysql进行
cd /usr/local/mysql/bin
mysql_secure_installation   #mysql初始化脚本,以下为每一项的翻译
 先回车
 是否设置root密码
 输入密码
 确认密码
 是否设置匿名用户
 是否允许root远程登录
 删除test数据库
 现在是否生效
Nach dem Login kopieren


Konfigurieren Sie den MySQL-Slave-Server

shell > vim /etc/my.cnf
server-id=1           #节点id
log-bin=mysql-bin         #指定二进制日志前缀
relay-log=mysql-relay-bin       #指定relaylog日志前缀
replicate-wild-ignore-table=mysql.%     #排除要复制的表
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%
Nach dem Login kopieren
Anzeigen des aktiven Synchronisierungsstatus

Anzeigen des Master-Slave-Synchronisierungsstatus im Slave-Server. Das Ja in den letzten beiden Zeilen zeigt an, dass die Master-Slave-Synchronisation erfolgreich war. Sie können den Master-Slave-Synchronisierungsstatus auch abfragen und überprüfen, indem Sie Tabellen, Bibliotheken und sogar Daten abfragen.

musql > grant replication slave on *.* to 
 &#39;slave_user&#39;@&#39;10.0.0.67&#39; identified by &#39;123456&#39;;
Nach dem Login kopieren
Bereitstellung abgeschlossen

Sie können auf den bereitgestellten Solo-Blog zugreifen, indem Sie über den Browser auf 172.18.68.11/solo-2.4 zugreifen. Wenn Sie ihn zum ersten Mal betreten, werden Sie aufgefordert, ein Benutzerkennwort zu registrieren, bei dem es sich um den Administrator handelt Kontopasswort.


Unabhängig davon, wie Nginx geplant ist, kann Tomcat die Sitzung des Clients in Redis speichern. Sie können die Redis-Verwaltungssoftware von windwos verwenden, um festzustellen, ob sowohl in der Redis-Master- als auch in der Slave-Datenbank Sitzungsinformationen vorhanden sind.


Das obige ist der detaillierte Inhalt vonSo implementieren Sie persistente Sitzungen über Nginx+Tomcat+Redis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

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.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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)

So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

So überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis So konfigurieren Sie die Ausführungszeit der Lua -Skript in CentOS Redis Apr 14, 2025 pm 02:12 PM

Auf CentOS -Systemen können Sie die Ausführungszeit von LuA -Skripten einschränken, indem Sie Redis -Konfigurationsdateien ändern oder Befehle mit Redis verwenden, um zu verhindern, dass bösartige Skripte zu viele Ressourcen konsumieren. Methode 1: Ändern Sie die Redis -Konfigurationsdatei und suchen Sie die Redis -Konfigurationsdatei: Die Redis -Konfigurationsdatei befindet sich normalerweise in /etc/redis/redis.conf. Konfigurationsdatei bearbeiten: Öffnen Sie die Konfigurationsdatei mit einem Texteditor (z. B. VI oder Nano): Sudovi/etc/redis/redis.conf Setzen Sie die LUA -Skriptausführungszeit.

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So führen Sie Nginx Apache aus So führen Sie Nginx Apache aus Apr 14, 2025 pm 12:33 PM

Um Nginx dazu zu bringen, Apache auszuführen, müssen Sie: 1. Installieren von Nginx und Apache; 2. Konfigurieren Sie den Nginx -Agenten; 3.. Starten Sie Nginx und Apache; 4. Testen Sie die Konfiguration, um sicherzustellen, dass Sie den Apache -Inhalt nach dem Zugriff auf den Domänennamen sehen können. Darüber hinaus müssen Sie auf andere Angelegenheiten wie die Anpassung der Portnummer, die virtuelle Hostkonfiguration und die SSL/TLS -Einstellungen achten.

So installieren Sie Redis in CentOS7 So installieren Sie Redis in CentOS7 Apr 14, 2025 pm 08:21 PM

Laden Sie das Quellcodepaket von der offiziellen Redis -Quelle herunter, um es zu kompilieren und zu installieren, um die neueste und stabile Version zu gewährleisten, und kann auf personalisierte Weise angepasst werden. Die spezifischen Schritte sind wie folgt: Aktualisieren Sie die Liste der Softwarepakets und erstellen

See all articles