Redis ist ein Open-Source-In-Memory-Datenstrukturspeicher. Es kann als Datenbank, Cache und Nachrichtenbroker verwendet werden und unterstützt verschiedene Datenstrukturen wie Strings, Hashes, Listen, Sets usw. Redis bietet Hochverfügbarkeit über Redis Sentinel, einschließlich Überwachung, Benachrichtigungen und automatischem Failover. Es bietet auch eine automatische Partitionierung über mehrere Redis-Knoten mit Redis-Cluster.
Dieses Tutorial beschreibt, wie Sie Redis auf einem Ubuntu 18.04-Server installieren und konfigurieren. Dieselben Anweisungen gelten für Ubuntu 16.04 und alle Ubuntu-basierten Distributionen.
Voraussetzungen #
Bevor Sie mit dem Tutorial beginnen, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installieren von Redis auf Ubuntu #
Das Redis-Paket ist in den standardmäßigen Ubuntu 18.04-Repositories enthalten. Die Installation ist ziemlich einfach, befolgen Sie einfach die folgenden Schritte:
-
Beginnen Sie damit, die apt-Paketliste zu aktualisieren, indem Sie den folgenden Befehl in Ihrem SSH-Terminal ausführen:
sudo apt update
-
Installieren Sie Redis, indem Sie Folgendes eingeben:
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 Sun 2018-10-28 05:10:45 PDT; 2h ago Docs: http://redis.io/documentation, man:redis-server(1) Process: 2197 ExecStop=/bin/kill -s TERM $MAINPID (code=exited, status=0/SUCCESS) Process: 2201 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS) Main PID: 2226 (redis-server) Tasks: 4 (limit: 2319) CGroup: /system.slice/redis-server.service `-2226 /usr/bin/redis-server 0.0.0.0:6379
Herzlichen Glückwunsch, zu diesem Zeitpunkt haben Sie Redis auf Ihrem Ubuntu 18.04-Server installiert und ausgeführt.
Redis-Fernzugriff konfigurieren #
Standardmäßig lässt Redis keine Remote-Verbindungen zu. Sie können sich nur von 127.0.0.1 (localhost) aus mit dem Redis-Server verbinden – dem Computer, auf dem Redis ausgeführt wird.
Führen Sie die folgenden Schritte nur aus, wenn Sie von Remote-Hosts aus eine Verbindung zu Ihrem Redis-Server herstellen möchten. Wenn Sie ein Einzelserver-Setup verwenden, bei dem die Anwendung und Redis auf demselben Computer ausgeführt werden, 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 ersetzen Sie 127.0.0.1
mit 0.0.0.0
.
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0 ::1
Speichern Sie die Datei und schließen Sie den Editor.
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 128 0.0.0.0:6379 0.0.0.0:*
tcp LISTEN 0 128 [::]:6379 [::]:*
Als Nächstes müssen Sie eine Firewall-Regel hinzufügen, die Datenverkehr von Ihren Remote-Computern auf TCP-Port 6379
zulässt .
Angenommen, Sie verwenden UFW
zum Verwalten Ihrer Firewall und Sie möchten den Zugriff von 192.168.121.0/24
zulassen subnet würden Sie den folgenden Befehl ausführen:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
An diesem Punkt akzeptiert der Redis-Server Remoteverbindungen auf TCP-Port 6379.
Stellen Sie sicher, dass Ihre Firewall so konfiguriert ist, dass sie nur Verbindungen von vertrauenswürdigen IP-Bereichen akzeptiert.
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