Redis ist ein Open-Source-In-Memory-Key-Value-Datenspeicher. 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 erklärt, wie man Redis auf einem Debian 9-Server installiert und konfiguriert.
Voraussetzungen #
Bevor Sie mit dem Tutorial beginnen, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installieren von Redis auf Debian #
Das Redis-Paket ist in den standardmäßigen Debian 9-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 ausführen:
sudo apt update
-
Installieren Sie Redis, indem Sie Folgendes eingeben:
sudo apt install redis-server
-
Wenn die Installation abgeschlossen ist, wird der Redis-Dienst automatisch gestartet. Sie können den Status des Dienstes überprüfen, indem Sie Folgendes eingeben:
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 Wed 2018-12-05 08:54:49 PST; 4min 52s ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 1569 (redis-server) CGroup: /system.slice/redis-server.service └─1569 /usr/bin/redis-server 127.0.0.1:6379
An diesem Punkt ist Redis installiert und läuft auf Ihrem Debian 9-Server und Sie können es verwenden.
Redis-Fernzugriff konfigurieren #
Standardmäßig kann auf Redis nicht von einem entfernten Standort aus zugegriffen werden. 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 vim /etc/redis/redis.conf
Suchen Sie nach einer Zeile, die mit bind 127.0.0.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
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 etwas wie das Folgende sehen:
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
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