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 erklärt, wie man Redis auf einem CentOS 7-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 CentOS 7 #
Das Redis-Paket ist nicht in den standardmäßigen CentOS-Repositories enthalten. Wir werden Redis Version 5.0.2 aus dem Remi-Repository installieren.
Die Installation ist ziemlich einfach, befolgen Sie einfach die folgenden Schritte:
-
Aktivieren Sie zunächst das Remi-Repository, indem Sie die folgenden Befehle in Ihrem SSH-Terminal ausführen:
sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi
-
Installieren Sie das Redis-Paket, indem Sie Folgendes eingeben:
sudo yum install redis
-
Sobald die Installation abgeschlossen ist, starten Sie den Redis-Dienst und aktivieren Sie ihn für den automatischen Start beim Booten mit:
sudo systemctl start redis
sudo systemctl enable redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
Geben Sie den folgenden Befehl ein, um den Status des Dienstes zu überprüfen:
sudo systemctl status redis
Sie sollten etwa Folgendes sehen:
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Sat 2018-11-24 15:21:55 PST; 40s ago Main PID: 2157 (redis-server) CGroup: /system.slice/redis.service └─2157 /usr/bin/redis-server 127.0.0.1:6379
Herzlichen Glückwunsch, zu diesem Zeitpunkt haben Sie Redis auf Ihrem CentOS 7-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.conf
Suchen Sie die Zeile, die mit bind 127.0.0.1
beginnt und fügen Sie Ihre private IP-Adresse des Servers nach 127.0.0.1
hinzu .
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 127.0.0.1 192.168.121.233
Stellen Sie sicher, dass Sie 192.168.121.233
ersetzen mit Ihrer IP-Adresse. 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
Verwenden Sie den folgenden ss
Befehl, um zu überprüfen, ob der Redis-Server Ihre private Schnittstelle auf Port 6379
abhört :
ss -an | grep 6379
Sie sollten etwas wie das Folgende sehen:
tcp LISTEN 0 128 192.168.121.233:6379 *:*
tcp LISTEN 0 128 127.0.0.1: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 FirewallD
zum Verwalten Ihrer Firewall und Sie möchten den Zugriff von 192.168.121.0/24
zulassen subnet würden Sie die folgenden Befehle ausführen:
sudo firewall-cmd --new-zone=redis --permanent
sudo firewall-cmd --zone=redis --add-port=6379/tcp --permanent
sudo firewall-cmd --zone=redis --add-source=192.168.121.0/24 --permanent
sudo firewall-cmd --reload
Die obigen Befehle erstellen eine neue Zone mit dem Namen redis
, öffnet den Port 6379
und ermöglicht den Zugriff aus dem privaten Netzwerk.
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, das eine Befehlszeilenschnittstelle für einen Redis-Server bereitstellt:
redis-cli -h <REDIS_IP_ADDRESS> ping
Der Befehl sollte eine Antwort von PONG
zurückgeben :
PONG