Redis Server mehrere Instanzen auf dem gleichen Server AlmaLinux 8.x | Teil 1
In Teil 1 installieren und konfigurieren wir Redis.
In Teil 2 erstellen wir eine zweite Redis Instanz.
Somit habe ich wie in meinem Fall, zwei Redis Server für zwei NetxCloud Instanzen auf dem selben Server. Redis kann natürlich auch z.B als Cache für WordPress usw. eingesetzt werden. Die Redis Installation ist dabei identisch, nur die Konfiguration bei der Endanwendung ist individuell.
Info:
Redis ist in der Standardkonfiguration, nicht von außen erreichbar.
Trotzdem empfiehlt es sich, ein Passwort zu vergeben.
Gerade bei Server mit wenig Hauptspeicher, empfiehlt es sich ein memorylimit zu setzten.
Wer lieber im Dateisystem mit einem grafischen Dateimanager navigieren möchte, dem empfehle ich Midnight Comander. (https://de.wikipedia.org/wiki/Midnight_Commander)
Installiert wird dieser:
dnf install mc
Und gestartet mit:
mc
Teil 1
Installiere Redis Server
Installation:
dnf install redis -y
Redis starten:
systemctl start redis
Redis Service aktivieren, damit startet Redis beim Systemstart gleich mit:
systemctl enable redis
Den Status überprüfen, ob Redis läuft:
systemctl status redis
Das sollte nun in etwa so aussehen:
Redis nutzt als Standard Port 6379
Redis Konfigurieren
Redis als Caching Server einrichten
nano /etc/redis.conf
Ganz am Ende der conf werden folgende Zeilen eingefügt:
Wobei der Speicher frei gewählt werden kann als mb oder gb.
Info:
Redis läuft im RAM Speicher des Server. Aus diesem Grund darf natürlich Redis nicht mehr Speicher als vorhanden zugewiesen werden und es sollte auch genügend Speicher für das System und andere laufenden Anwendungen übrig bleiben.
maxmemory 4gb
maxmemory-policy allkeys-lru
Speichert die conf ab mit STRG + X bestätigt mit Y und Enter
Redis einmal neu starten, damit die Konfiguration übernommen wird:
systemctl restart redis
Redis absichern
Wir sichern Redis mit einem Passwort ab.
nano /etc/redis.conf
Sucht in der conf nach folgender Zeile:
Tipp:
STRG + W öffnet das Suchfeld. Tippt ein nach was ihr sucht, in diesem Fall requirepass und bestätigt mit Enter.
# requirepass foobared
Entfernt # um die Funktion zu aktivieren und vergebt ein sicheres Passwort:
requirepass 123deinPasswort
Speichert die conf ab mit STRG + X bestätigt mit Y und Enter
Redis neustarten:
systemctl restart redis
Nun verbinden wir uns mit Redis:
redis-cli
Um zu testen ob die Authentifizierung funktioniert, schickt folgenden Befehl ab.
127.0.0.1:6379> INFO server
Nun solltet ihr folgende Fehlermeldung erhalten.
NOAUTH Authentication required.
Führt nun folgenden Befehl aus:
127.0.0.1:6379> Auth 123deinPasswort
Gebt den Befehl erneut ein:
127.0.0.1:6379> INFO server
Das Ergebniss sollte in etwa so aussehen:
Das war es auch schon.
Eine Liste von Redis Befehlen findet Ihr beim Entwickler:
Webseite: https://redis.io/
Befehle: https://redis.io/commands/
NextCloud und Redis:
Um nun wie in meinem Fall die NextCloud mit Redis zu verbinden, geht in euer NextCloud Verzeichnis auf dem Server und dort in den Ordner /nextcloud/config und öffnet die Datei config.php
Tipp:
Bitte macht erst ein Backup von der config.php
Fügt nun folgenden Code direkt unter die Zeile ein:
'trusted_domains' =>
array (
0 => 'www.DeineDomain.de',
),
'memcache.distributed' => '\\OC\\Memcache\\Redis',
'memcache.local' => '\\OC\\Memcache\\Redis',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'password' => '123deinPasswort',
'timeout' => 0.0,
),