Redis ist ein Open-Source (BSD-lizenzierter) In-Memory-Schlüsselwert-Datenstrukturspeicher, der verwendet wird als Datenbank, Cache und Nachrichtenbroker. Redis unterstützt Datenstrukturen wie Strings, Hashes, Listen, Sets, sortierte Sets mit Bereichsabfragen, Bitmaps, Hyperlog-Protokolle, Geoindizes und Streams. Redis bietet auch Hochverfügbarkeit mit Redis Sentinel-Softwarelogik und erstellt mit Redis Cluster eine automatische Partitionierung über Redis-Knoten hinweg.
Am Ende des Handbuchs erfahren Sie, wie Sie Redis auf Ihrem Ubuntu 20.04 installieren und konfigurieren Betriebssystem.
Voraussetzungen
- Empfohlenes Betriebssystem: Ubuntu 20.04 oder höher
- Benutzerkonto: Ein Benutzerkonto mit sudo oderRoot-Zugriff.
Betriebssystem aktualisieren
Aktualisieren Sie Ihr Ubuntu Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:
sudo apt update && sudo apt upgrade -y
Das Tutorial verwendet den sudo-Befehl und vorausgesetzt, Sie haben den Sudo-Status . So überprüfen Sie den Sudo-Status Ihres Kontos:
sudo whoami
Beispielausgabe, die den Sudo-Status zeigt:
[joshua@ubuntu ~]$ sudo whoami
root
Wenn Sie noch kein sudo-Benutzerkonto eingerichtet haben und dies gerne tun würden, besuchen Sie unser Tutorial zum So fügen Sie einen Benutzer zu Sudoers auf Ubuntu hinzu .
So verwenden Sie das Root-Konto verwenden Sie den folgenden Befehl mit dem Root-Passwort, um sich anzumelden.
su
Redis installieren
Standardmäßig ist die Redis 5-Serie in den Ubuntu 20.04-Repositories enthalten. Um den Redis-Dienst zu installieren, geben Sie den folgenden Befehl ein:
sudo apt install redis-server
Beispielausgabe:
Geben Sie „J“ ein drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.
Überprüfen Sie, ob Redis korrekt installiert wurde, indem Sie dies mit dem Befehl apt-cache policy überprüfen:
sudo apt-cache policy redis-server
Beispielausgabe:
Überprüfen Sie als Nächstes den Status und vergewissern Sie sich, dass Redis ausgeführt wird und, was noch wichtiger ist, fehlerfrei ist:
systemctl status redis-server
Beispielausgabe:
Beachten Sie, dass Reddis localhost auf dem standardmäßigen Port 6379 aktiv abhört . Um diesen Typ zu bestätigen, Folgendes:
ps -ef | grep redis
Beispielausgabe:
joshua@ubuntu:~$ ps -ef | grep redis
redis 8346 1 0 21:40 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua 9058 7363 0 21:40 pts/0 00:00:00 grep --color=auto redis
Während Sie jetzt testen, ob alles funktioniert und betriebsbereit ist, ist es eine gute Idee, eine Verbindung zu Ihrem Redis-Dienst herzustellen und dann einen Ping-Test durchzuführen.
Um den Test durchzuführen, geben Sie den folgenden Befehl ein:
redis-cli
Sobald die Verbindung hergestellt ist, zeigt Ihr Terminal (127.0.0.1:6379 an ). Pingen Sie nun den Redis-Dienst wie folgt:
ping
Beispielausgabe:
127.0.0.1:6379> ping
PONG
Geben Sie Folgendes ein, um die Redis-Instanz zu beenden:
exit
Herzlichen Glückwunsch, Sie haben Redis auf Ihrem Ubuntu-Betriebssystem installiert und überprüft, ob es betriebsbereit ist. Als nächstes können Sie Redis konfigurieren.
So konfigurieren Sie Redis
Redis kann auf verschiedene Arten konfiguriert werden. Die bemerkenswerteste Aktion, warum Menschen Redis verwenden, ist für Caching-Zwecke. Dazu müssen Sie die “/etc/redis/redis.conf öffnen ” Datei mit dem Nano-Editor.
sudo nano /etc/redis.conf
Max. Arbeitsspeicher konfigurieren
Fügen Sie nun Folgendes am Ende der Datei hinzu. Beachten Sie, dass Sie den Speicherwert nach Belieben oder, was noch wichtiger ist, optimal für Ihre Webanwendung und Serverhardware ändern können.
maxmemory 500mb
maxmemory-policy allkeys-lru
Wie Sie sehen können, hat die Einstellung im Handbuch 500 MB für Redis reserviert, da es sich auf einem dedizierten Host mit viel RAM befindet. Sobald die 500 MB erschöpft sind, entfernt Redis alle Schlüssel gemäß dem LRU-Algorithmus.
Netzwerkzugriff konfigurieren
Eine weitere Option besteht darin, alle Dienste abzuhören oder eine IP-Adresse/ein Subnetz festzulegen, wenn Ihnen Ihr Redis-Dienst gefällt.
Suchen Sie zuerst Zeile 69 in der Konfigurationsdatei.
Um zunächst alle Netzwerkschnittstellen abzuhören, kommentieren Sie „#“ die Zeile bindet an IP:
Beispiel:
# bind 127.0.0.1 ::1
Alternative Methode:
bind 0.0.0.0/0
Beachten Sie, dass Ihr internes Netzwerk vertrauenswürdig ist und angemessene Sicherheitskontrollen vorhanden sind.
Stellen Sie zum Binden an eine IP-Adresse sicher, dass es sich um eine statische IP-Adresse handelt.
Beispiel:
bind 192.150.5.2
Um ein Netzwerk-Subnetz zu binden.
Beispiel:
bind 192.150.5.0/24
Beachten Sie, dass es dringend empfohlen wird, ein Passwort festzulegen, wenn Sie ein Subnetz verwenden oder auf alle Schnittstellen zugreifen, um darauf zu hören.
Passwort konfigurieren
Eine weitere Sicherheitsfunktion und zur weiteren Härtung von Redis ist das Festlegen eines Kennworts für die Redis-Instanz.
Navigieren Sie zu Zeile 507 und kommentieren Sie "# requiredpass" aus Zeile und legen Sie ein Passwort fest.
Beispiel:
requiredpass APASSWORD
Stellen Sie sicher, dass dieses Passwort robust ist und Zahlen, Buchstaben, Sonderzeichen und Großbuchstaben zufällig sind, da Redis-Server sehr gut auf einer anständigen Box brutal erzwungen werden können.
Verwenden Sie als Nächstes beim Aufrufen der Redis-CLI den folgenden Befehl mit dem Kennwort, das für den Benutzer festgelegt wurde.
Beispiel:
auth THEPASSWORDSET
„DER PASSWORTSATZ“ ist das erstellte Passwort.
Wenn sich ein Benutzer nicht anmelden kann, wird ihm die folgende Fehlermeldung angezeigt.
(error) NOAUTH Authentication required.
Wenn sich ein Benutzer erfolgreich anmeldet, wird ihm die folgende Meldung angezeigt.
OK
Wenn Sie fertig sind, speichern Sie Ihre Änderungen STRG+O Beenden Sie dann STRG+X . Starten Sie nun den Redis-Dienst neu, indem Sie Folgendes eingeben:
sudo systemctl restart redis-server
UFW-Regeln konfigurieren
Wenn Sie die standardmäßig auf Ubuntu-Distributionen installierte UFW-Firewall verwenden, müssen Sie Zulassungsregeln für den TCP-Port 6379 erstellen. Abhängig von Ihrer Installation und Ihren Anforderungen bei der Verwendung von Einzel- oder Cluster-Netzwerken finden Sie unten einige Beispiele:
Zusätzliche Netzwerk-IP-Serverinstanz:
sudo ufw allow proto tcp from <ip address> to any port 6379
Cluster-Netzwerk mit vielen Instanzen:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
Beachten Sie, dass die zweite UFW-Regel eine Subnetzregel ist. Beachten Sie, dass das interne Netzwerk sicher und vertrauenswürdig ist, bevor Sie es zulassen.
Nun, wie Sie zu Beginn des Handbuchs getestet haben, indem Sie Ihren Redis-Dienst anpingten, um sicherzustellen, dass er betriebsbereit ist, können Sie die Firewall-Regeln und IP-Änderungen ausprobieren, indem Sie die „redis-cli“ verwenden Befehl:
redis-cli -h <ip address> ping
Bei korrekter Einrichtung sollte die Ausgabe wie folgt aussehen:
pong