Redis: Multiple Instances mit Ubuntu

Kürzlich habe ich von SpamAssassin auf rspamd umgestellt, weil ich mit den Filterergebnissen nicht zufrieden war. Rspamd setzt auf Redis-Datenbanken als Backend und benötigt mehrere Instanzen von Redis.  

Wir erstellen 3 Redis Instanzen: bayesfuzzy undredis für den restlichen cache:

instance Redis socket
redis localhost:6379
bayes localhost:6378
fuzzy localhost:6377

Installation

Zuerst Redis installieren:

# sudo apt update
# sudo apt install redis-server

 


Suchen Sie in der Datei /etc/redis/redis.conf die Anweisung supervised. Mit dieser Anweisung können Sie ein Init-System deklarieren, um Redis als Dienst zu verwalten. Damit erhalten Sie mehr Kontrolle über seine Funktion. Die Anweisung supervised ist standardmäßig auf no eingestellt. Da Ubuntu das Init-System systemd verwendet, ändern Sie die Anweisung zu system:

supervised systemd

 



Zum Übernehmen der Änderungen Redis neu starten:
sudo systemctl restart redis.service

 



Nun kann mit sudo systemctl status redis getestet werden, ob Redis fehlerfrei läuft. 

 

Weitere Instanzen einrichten

Erstelle seperate Verzeichnisse für die neuen Instanzen:

cd /var/lib/redis && mkdir bayes fuzzy && chown -R redis.redis bayes fuzzy

 

Für die Bayes-Instanz: cp /etc/redis/redis.conf /etc/redis/redis-bayes.conf und chown redis.redis /etc/redis/redis-bayes.conf, dann folgendermaßen editieren:

port = 6378
pidfile /var/run/redis/redis-bayes.pid
logfile /var/log/redis/redis-bayes.log
dir /var/lib/redis/bayes

 

Redis Init Script kopieren:

sudo cp /etc/init.d/redis-server /etc/init.d/redis-bayes und File folgendermaßen editieren:

#! /bin/sh
### BEGIN INIT INFO
# Provides: redis-bayes
...
DAEMON_ARGS=/etc/redis/redis-bayes.conf
...
NAME=redis-bayes
DESC=redis-bayes
...
PIDFILE=$RUNDIR/redis-bayes.pid

 

Jetzt noch das neue Redis Init-Script zum default Runlevel hinzufügen, damit das Script beim Neustart sofort gestartet wird:

sudo update-rc.d redis-bayes defaults

 

 

Fertig! Jetzt ausprobieren, ob das neue Script fehlerfrei startet:

sudo /etc/init.d/redis-bayes start

 

____

Nun das gleiche nochmal für die Fuzzy-Instanz: cp /etc/redis/redis.conf /etc/redis/redis-fuzzy.conf und chown redis.redis /etc/redis/redis-fuzzy.conf, dann folgendermaßen editieren:

port = 6377
pidfile /var/run/redis/redis-fuzzy.pid
logfile /var/log/redis/redis-fuzzy.log
dir /var/lib/redis/fuzzy

 

Redis Init Script kopieren:

sudo cp /etc/init.d/redis-server /etc/init.d/redis-fuzzy und File folgendermaßen editieren:

#! /bin/sh
### BEGIN INIT INFO
# Provides: redis-fuzzy
...
DAEMON_ARGS=/etc/redis/redis-fuzzy.conf
...
NAME=redis-fuzzy
DESC=redis-fuzzy
...
PIDFILE=$RUNDIR/redis-fuzzy.pid

 

Jetzt noch das neue Redis Init-Script zum default Runlevel hinzufügen, damit das Script beim Neustart sofort gestartet wird:

sudo update-rc.d redis-fuzzy defaults

 

 

Fertig! Jetzt ausprobieren, ob das neue Script startet:

sudo /etc/init.d/redis-fuzzy start

 

So kann man checken, ob Redis auf dem entsprechenden Port läuft:

redis-cli -p 6377 ping
redis-cli -p 6378 ping
oderredis-cli  pingfür Standardport 6379

Ein anderer Weg wäre mit lsof nach dem entsprechenden Port zu suchen und zu sehen, ob Redis dort lauscht.

lsof -i:6379

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Vielleicht gefällt dir auch folgendes?

.user.ini auf NGINX ausblenden

Die “.user.ini”-Datei, die Wordfence erstellt, kann vertrauliche Informationen enthalten, und der öffentliche Zugriff darauf sollte eingeschränkt werden. Wenn NGINX genutzt ist, muss man das selber

Mehr lesen »

php-fpm Optimierung

Ich nutze php-fpm und mir sind starke Performance-Probleme bei der Verwendung von WordPress aufgefallen. Die Oberfläche reagierte träge, oft gab es lange Wartezeiten. Zur php-fpm

Mehr lesen »
WordPress Cookie Plugin von Real Cookie Banner