Redis ist ein Open-Source-In-Memory-Key-Value-Datenspeicher. Es kann als Datenbank, Cache und Message Broker verwendet werden und unterstützt verschiedene Datenstrukturen wie Strings, Hashes, Listen, Sets und mehr. Redis bietet Hochverfügbarkeit über Redis Sentinel und automatische Partitionierung über mehrere Redis-Knoten mit Redis Cluster.
Dieses Tutorial beschreibt die Installation und Konfiguration von Redis unter Ubuntu 20.04.
Installieren von Redis auf Ubuntu 20.04 #
Die Installation von Redis auf Ubuntu ist ein unkomplizierter Vorgang.
Redis Version 5.0.x ist in den standardmäßigen Ubuntu 20.04-Repositories enthalten. Um es zu installieren, führen Sie die folgenden Befehle als Root oder Benutzer mit sudo-Berechtigungen aus:
sudo apt update
sudo apt install redis-server
Sobald die Installation abgeschlossen ist, wird der Redis-Dienst automatisch gestartet. Geben Sie den folgenden Befehl ein, um den Status des Dienstes zu überprüfen:
sudo systemctl status redis-server
Sie sollten so etwas sehen:
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-06-06 20:03:08 UTC; 10s ago
...
Der Redis-Dienst kann nicht gestartet werden, wenn IPv6 auf Ihrem Server deaktiviert ist. Das ist es. Sie haben Redis auf Ihrem Ubuntu 20.04-Server installiert und ausgeführt.
Redis-Fernzugriff konfigurieren #
Standardmäßig akzeptiert der Redis-Server keine Remote-Verbindungen. Sie können sich nur über 127.0.0.1
mit Redis verbinden (localhost) – der Rechner, auf dem Redis läuft.
Wenn Sie ein Einzelserver-Setup verwenden, bei dem der Client, der sich mit der Datenbank verbindet, auch auf demselben Host ausgeführt wird, sollten Sie den Fernzugriff nicht aktivieren.
Um Redis so zu konfigurieren, dass Remote-Verbindungen akzeptiert werden, öffnen Sie die Redis-Konfigurationsdatei mit Ihrem Texteditor:
sudo nano /etc/redis/redis.conf
Suchen Sie die Zeile, die mit bind 127.0.0.1 ::1
beginnt und kommentieren.
# bind 0.0.0.0 ::1
Wenn Ihr Server eine private IP hat und Sie möchten, dass Redis nur aus dem privaten Netzwerk erreichbar ist, anstatt die Zeile zu kommentieren, die private IP-Adresse nach 127.0.0.1
. Speichern Sie die Datei und starten Sie den Redis-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart redis-server
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob Redis auf allen Schnittstellen auf Port 6379
lauscht :
ss -an | grep 6379
Sie sollten so etwas wie unten sehen. 0.0.0.0
bedeutet alle IPv4-Adressen auf dem Rechner.
tcp LISTEN 0 511 0.0.0.0:6379 0.0.0.0:*
tcp LISTEN 0 511 [::]:6379 [::]:*
Als Nächstes müssen Sie Ihre Firewall konfigurieren, um Datenverkehr auf TCP-Port 6379
zu ermöglichen .
Normalerweise möchten Sie den Zugriff auf den Redis-Server nur von einer bestimmten IP-Adresse oder einem bestimmten IP-Bereich aus zulassen. Zum Beispiel, um nur Verbindungen von 192.168.121.0/24
zuzulassen subnet, würden Sie den folgenden Befehl ausführen:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
Stellen Sie sicher, dass Ihre Firewall so konfiguriert ist, dass sie nur Verbindungen von vertrauenswürdigen IP-Bereichen akzeptiert. An diesem Punkt sollten Sie in der Lage sein, sich von entfernten Standorten aus über TCP-Port 6379 mit Redis zu verbinden.
Um zu überprüfen, ob alles richtig eingerichtet ist, können Sie versuchen, den Redis-Server von Ihrem Remote-Computer aus mit redis-cli
zu pingen Dienstprogramm:
redis-cli -h <REDIS_IP_ADDRESS> ping
Der Befehl sollte eine Antwort von PONG
zurückgeben :
PONG