So installieren Sie Redis unter Debian 12, 11 oder 10

Redis ist ein Open-Source-Datenstrukturspeicher im Arbeitsspeicher, der häufig als Datenbank, Cache und Nachrichtenbroker verwendet wird. Seine hohe Leistung und Flexibilität machen ihn zu einer beliebten Wahl in verschiedenen Technologiebereichen. Diese Anleitung ist für Sie, wenn Sie Redis auf Debian 12 Bookworm, Debian 11 Bullseye oder Debian 10 Buster installieren möchten.

Hauptmerkmale von Redis

  • Schneller Datenzugriff: Redis speichert Daten im Speicher, was einen schnellen Abruf ermöglicht. Dies macht es ideal für Caching-Anwendungen.
  • Mehrere Datenstrukturen: Im Gegensatz zu herkömmlichen tabellenbasierten Datenbanken unterstützt Redis verschiedene Datenstrukturen wie Zeichenfolgen, Hashes, Listen und Sets.
  • Echtzeit-Messaging: Redis bietet Publish/Subscribe-Messaging-Muster und ermöglicht so eine Anwendungskommunikation in Echtzeit.
  • Datenpersistenz: Obwohl es sich bei Redis in erster Linie um eine In-Memory-Datenbank handelt, ermöglicht es die regelmäßige Speicherung von Daten auf der Festplatte und bietet so ein Gleichgewicht zwischen Geschwindigkeit und Haltbarkeit.
  • Skalierbarkeit und Verfügbarkeit: Funktionen wie Replikation, Sharding und Redis Sentinel gewährleisten hohe Verfügbarkeit und Skalierbarkeit über mehrere Knoten hinweg.

Gängige Anwendungsfälle für Redis

  • Zwischenspeicherung: Redis wird häufig zum Zwischenspeichern häufig abgerufener Daten verwendet, um die Abrufzeiten zu beschleunigen.
  • Sitzungsspeicher: Es eignet sich gut zum Speichern von Benutzersitzungsdaten, insbesondere bei Webanwendungen mit hohem Datenverkehr.
  • Nachrichtenwarteschlange: Die Pub/Sub-Funktionen machen Redis zu einer ausgezeichneten Wahl für Message-Queuing-Systeme.

Das Verständnis der Fähigkeiten von Redis kann Ihren Technologie-Stack erheblich verbessern. Die kommende Anleitung beschreibt detailliert, wie Sie Redis auf Debian 12 Bookworm, Debian 11 Bullseye oder Debian 10 Buster installieren. Wir behandeln zwei Installationsmethoden: eine mit Debians Standard-Repository und eine andere mit dem offiziellen Redis-Repository für die neueste Version. Beide Methoden verwenden Befehle der Befehlszeilenschnittstelle (CLI). Bleiben Sie dran für die Schritt-für-Schritt-Anleitung.

Vorinstallationsschritte bei der Redis-Installation

Debian-Systempakete aktualisieren

Bevor Sie Redis oder eine andere Software installieren, müssen Sie zunächst sicherstellen, dass die Pakete Ihres Systems auf dem neuesten Stand sind. Dieser wichtige vorbereitende Schritt hilft, potenzielle Konflikte während des nachfolgenden Installationsvorgangs zu vermeiden. Er stellt sicher, dass alle Systemabhängigkeiten aktuell sind, und minimiert potenzielle Probleme, die durch veraltete Softwarepakete entstehen.

In einem Debian-System können Sie dies tun, indem Sie den folgenden Befehl im Terminal ausführen:

sudo apt update && sudo apt upgrade

Installieren Sie die erforderlichen Pakete für die Redis-Installation

Sobald die Debian-Systempakete auf dem neuesten Stand sind, müssen Sie bestimmte Softwarepakete installieren, die für die Redis-Installation erforderlich sind.

Sie können diese Pakete installieren, indem Sie den folgenden Befehl ausführen:

sudo apt install software-properties-common apt-transport-https curl ca-certificates -y

Lassen Sie uns diesen Befehl analysieren, um ihn besser zu verstehen:

  • sudo apt install: Dieser Befehl wird verwendet, um Pakete auf Ihrem Debian-System zu installieren.
  • software-properties-common: Dieses Paket bietet spezielle Skripte für die sichere Verwaltung von Software und Quellcode.
  • apt-transport-https: Dieses Paket ist für den Apt-Paketmanager erforderlich, um Pakete über das „https“-Protokoll abzurufen.
  • curl: Dies ist ein Befehlszeilentool zum Übertragen von Daten mithilfe verschiedener Netzwerkprotokolle. Es hilft unter anderem beim Herunterladen von Dateien.
  • ca-certificates: Dieses Paket ist erforderlich, um die Sicherheit von Websites zu überprüfen. Es stellt eine Reihe von Zertifizierungsstellenzertifikaten (Certifying Authority, CA) bereit.
  • -y: Diese Option beantwortet alle Eingabeaufforderungen während der Installation automatisch mit „Ja“.

Wählen Sie die Redis-Installationsmethode

Option 1: Redis mit APT Debian Repository installieren

Obwohl Debian Redis in seinem Standardsoftwareangebot enthält, ist die Version möglicherweise nicht die neueste. Debian legt Wert auf Stabilität und bietet im Allgemeinen nur Sicherheit oder wichtige Updates. Dies kann dazu führen, dass die Redis-Version unter Debian älter, aber wahrscheinlich stabiler ist. Dies könnte der perfekte Weg sein, wenn Ihre beabsichtigte Verwendung von Redis nicht die neuesten Funktionen erfordert.

Um Redis mit dieser Methode zu installieren, müssen Sie den folgenden Befehl in Ihrem Terminal ausführen:

sudo apt install redis

Der sudo Befehl bietet Superuser-Berechtigungen, während apt install redis installiert das Redis-Softwarepaket auf Ihrem Debian-System.

Option 2: Redis mit Redis.io APT Repository installieren

Die zweite Methode ist möglicherweise für diejenigen interessanter, die die aktuellste Version von Redis benötigen oder wünschen. Dabei wird das APT-Repository aus dem offiziellen Redis.io-Repository importiert. Dieses Repository erhält regelmäßig Fehlerbehebungen, Sicherheitspatches und Funktionsupdates.

Importieren Sie das Redis.io-Repository

Importieren Sie zunächst den GPG-Schlüssel. GPG oder GNU Privacy Guard hilft bei der sicheren Kommunikation und Datenspeicherung. Der GPG-Schlüssel überprüft die Datenquelle und stellt sicher, dass sie beim Download nicht verändert wurde.

Verwenden Sie diesen Befehl, um den GPG-Schlüssel zu importieren:

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

Als nächstes importieren wir das Repository mit dem folgenden Befehl:

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Paketindex nach Redis.io APT-Import aktualisieren

Nachdem das neue Repository hinzugefügt wurde, müssen Sie den Paketindex Ihres Systems aktualisieren, um die aus der neuen Quelle verfügbaren Pakete zu kennen. Führen Sie dazu den folgenden Befehl aus:

sudo apt-get update

Installieren Sie Redis über den APT-Befehl

Wenn alles eingerichtet ist, können Sie Redis aus dem Redis.io-Repository installieren. Wenn Sie Redis bereits aus dem Debian-Repository installiert haben, wird Ihnen stattdessen möglicherweise ein Upgrade angezeigt. Der folgende Befehl installiert Redis zusammen mit dem Redis-Server und den Tools:

sudo apt install redis redis-server redis-tools

Redis-Installation überprüfen

Nach der Installation ist es immer eine gute Idee, die Installation zu überprüfen. Sie können dies mit dem apt-cache policy Befehl, der bestätigt, dass Sie die Redis.io-Version installiert haben. So verwenden Sie es:

apt-cache policy redis

Verwenden Sie den folgenden Befehl, um die Redis-Instanz zu aktivieren und so einzurichten, dass sie beim Systemstart gestartet wird:

sudo systemctl enable redis-server --now

Um zu überprüfen, ob Redis fehlerfrei ausgeführt wird, verwenden Sie diesen Befehl:

systemctl status redis-server

Dieser Befehl liefert Informationen über die redis-server Dienst, der jetzt ausgeführt werden sollte.

Redis prüfen: Überprüfungen nach der Installation unter Debian

Abhörports

Standardmäßig lauscht Redis auf dem lokalen Host über Port 6379. Um sicherzustellen, dass Redis tatsächlich wie erwartet aktiv lauscht, verwenden Sie den folgenden Befehl:

ps -ef | grep redis

Dieser Befehl zeigt laufende Prozesse an, an denen Redis beteiligt ist. Dies sollte den Abhörstatus von Redis auf Port 6379 widerspiegeln.

Ping-Test des Redis-Dienstes

Ein Ping-Test ist eine der einfachsten Möglichkeiten, um zu überprüfen, ob Ihr Redis-Dienst betriebsbereit ist. Dadurch wird eine Verbindung zu Ihrem Redis-Dienst hergestellt und überprüft, ob er aktiv, betriebsbereit und bereit ist, auf Befehle zu reagieren.

Stellen Sie zunächst mit dem folgenden Befehl eine Verbindung zum Redis-Dienst her:

redis-cli

Nach dem Ausführen dieses Befehls sollte Ihr Terminal anzeigen 127.0.0.1:6379, was bedeutet, dass Sie mit Redis auf dem lokalen Host verbunden sind. Jetzt können Sie den Redis-Dienst wie folgt anpingen:

ping

Beenden der Redis-Instanz

Nachdem Sie die Überprüfungen abgeschlossen und bestätigt haben, dass Redis ordnungsgemäß funktioniert, beenden Sie die Redis-Instanz durch Eingabe von:

exit

Wir haben Redis erfolgreich auf einem Debian-System installiert, entweder mithilfe des Debian-APT-Repository oder des offiziellen Redis.io-APT-Repository.

Redis konfigurieren und einrichten

Redis zeichnet sich durch seine Flexibilität und seine Fähigkeit aus, sich an verschiedene Anforderungen anzupassen. In diesem Abschnitt erfahren Sie, wie Sie Redis für Caching und Netzwerkzugriff anpassen und ein Passwort für mehr Sicherheit hinzufügen.

Zugriff auf die Redis-Konfigurationsdatei

Die Anpassung von Redis beginnt mit der Redis-Konfigurationsdatei unter /etc/redis/redis.conf. Sie müssen diese Datei mit einem Texteditor öffnen, wie nano.

Führen Sie dazu den folgenden Befehl aus:

sudo nano /etc/redis/redis.conf

Festlegen des maximalen Arbeitsspeichers für die Zwischenspeicherung

Ein Anwendungsfall für Redis ist das Zwischenspeichern von Daten, um die Anwendungsleistung zu steigern. Um in Redis eine bestimmte Speichermenge für diesen Zweck zuzuweisen, fügen Sie nach der Konfigurationsdatei die folgenden Zeilen an:

maxmemory 500mb 
maxmemory-policy allkeys-lru

In diesem Szenario haben wir 500 MB Speicher für Redis reserviert. Sie können diese Menge gerne basierend auf den Spezifikationen Ihres Servers und den Anforderungen Ihrer Anwendung anpassen.

Sobald der zugewiesene Speicher seine Kapazitätsgrenze erreicht, entfernt Redis Schlüssel gemäß der Least Recently Used (LRU)-Richtlinie.

Einrichten des Netzwerkzugriffs

Standardmäßig hört Redis nur auf der Localhost-Schnittstelle. Sie können diese Einstellung ändern, damit Redis auf allen Schnittstellen oder bestimmten IP-Adressen/Subnetzen lauscht.

Suchen Sie zunächst Zeile 69 in der Konfigurationsdatei.

Option 1: Alle Netzwerkschnittstellen abhören

Damit Redis auf allen Netzwerkschnittstellen lauscht, können Sie die bind Zeile durch Hinzufügen eines # am Anfang:

# bind 127.0.0.1 ::1

Option 2: Bindung an eine bestimmte IP-Adresse oder ein bestimmtes Subnetz

Um Redis an eine bestimmte IP-Adresse oder ein bestimmtes Subnetz zu binden, ersetzen Sie die bind Zeile mit Ihrer bevorzugten IP oder Ihrem Subnetz:

bind 0.0.0.0/0

oder

bind 192.150.5.0/24

Wenn Sie Redis an eine IP-Adresse oder ein Subnetz binden, wird zur Erhöhung der Sicherheit dringend empfohlen, die Verwendung eines Kennworts durchzusetzen.

Erzwingen der Kennwortauthentifizierung

Um Ihrer Redis-Instanz eine zusätzliche Schutzebene hinzuzufügen, können Sie ein Kennwort zur Authentifizierung festlegen.

Suchen Sie nach der Zeile, die beginnt mit # requirepass (ungefähr Zeile 507), heben Sie die Kommentierung auf und legen Sie ein sicheres Passwort fest:

requirepass YourStrongPasswordHere

Ersetzen YourStrongPasswordHere mit einem sicheren Passwort, das eine Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthält.

Änderungen übernehmen und Redis neu starten

Nachdem Sie die erforderlichen Anpassungen an der Konfigurationsdatei vorgenommen haben, speichern Sie Ihre Änderungen durch Drücken von Ctrl + Ound beenden Sie dann das nano durch Drücken von Ctrl + X.

Starten Sie abschließend den Redis-Dienst neu, um die neuen Einstellungen zu aktivieren:

sudo systemctl restart redis

Dieser Befehl fordert das System auf, den Redis-Dienst anzuhalten und sofort wieder zu starten. Dadurch wird sichergestellt, dass Redis mit den neuen Konfigurationsparametern arbeitet, die Sie festgelegt haben.

Um sicherzustellen, dass der Redis-Dienst erfolgreich neu gestartet wurde und ordnungsgemäß ausgeführt wird, können Sie den Status des Dienstes überprüfen, indem Sie den folgenden Befehl ausführen:

sudo systemctl status redis

Dieser Befehl gibt Informationen zum Redis-Dienst zurück, einschließlich seines Status (aktiv oder inaktiv), seiner Betriebszeit und der Protokollmeldungen, die Sie möglicherweise zuvor beim Bestätigen der Installation gesehen haben.

Konfigurieren Sie eine Firewall für Redis mit UFW

Um Ihren Redis-Server zu sichern, müssen Sie eine robuste Firewall einrichten. Redis enthält standardmäßig keine Firewall. Außerdem bietet Debian keine sofort einsatzbereite Firewall-Lösung, es sei denn, Sie sind mit iptables vertraut. Es gibt jedoch eine unkomplizierte Methode, die Sie verwenden können, selbst wenn Sie Anfänger sind. Diese Methode beinhaltet die Uncomplicated Firewall (UFW), ein benutzerfreundliches Firewall-Tool.

Sicherstellen, dass UFW installiert ist

Überprüfen Sie zunächst, ob Ihr Debian-Server über UFW verfügt. Wenn nicht, installieren Sie es mit dem folgenden Befehl:

sudo apt install ufw -y

In diesem Befehl sudo wird verwendet, um den Befehl mit Root-Rechten auszuführen, apt install ist der Befehl zum Installieren eines Pakets, ufw ist das zu installierende Paket und -y ist eine Option, die alle Eingabeaufforderungen automatisch mit „Ja“ beantwortet, sodass die Installation ohne weitere Benutzereingaben fortgesetzt werden kann.

UFW aktivieren

Sobald UFW installiert ist, muss es aktiviert werden, damit es funktioniert und Ihr System schützt. Sie können UFW mit diesem Befehl aktivieren:

sudo ufw enable

Dieser Befehl weist UFW an, alle von Ihnen festgelegten oder festzulegenden Regeln zu aktivieren und anzuwenden.

Konfigurieren von UFW-Regeln für Redis

Nachdem UFW aktiviert ist, können Sie es zum Schutz Ihres Redis-Servers konfigurieren. Je nach Ihrer spezifischen Situation und je nachdem, ob Ihre Redis-Installation ein eigenständiger Server oder Teil eines Clusters ist, müssen Sie möglicherweise unterschiedliche Firewall-Regeln einrichten.

Für eine zusätzliche Netzwerk-IP-Serverinstanz

Wenn Sie einen eigenständigen Redis-Server haben, den Sie mit UFW schützen möchten, verwenden Sie diesen Befehl:

sudo ufw allow proto tcp from <ip address> to any port 6379

Hier ersetzen Sie <ip address> mit der IP-Adresse des Servers, von dem Sie Verbindungen zulassen möchten. Dieser Befehl weist UFW an, TCP-Verbindungen von dieser IP-Adresse zu jedem System auf Port 6379, dem Standardport für Redis, zuzulassen.

Für ein Cluster-Netzwerk mit mehreren Instanzen

Wenn Sie mit einem Cluster von Redis-Servern arbeiten, können Sie Verbindungen aus einem gesamten Subnetz zulassen. Verwenden Sie dazu den folgenden Befehl:

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

Ersetzen Sie in diesem Befehl <ip address> mit der IP-Adresse des Subnetzes, von dem aus Sie Verbindungen zulassen möchten. Beachten Sie, dass dieser Befehl erhebliches Vertrauen in alle Geräte in diesem Subnetz voraussetzt, da er den Redis-Server für alle Geräte öffnet. Verwenden Sie diesen Befehl daher nur, wenn Sie sicher sind, dass Ihr internes Netzwerk sicher ist.

Überprüfen der UFW-Konfiguration

Nachdem Sie Ihre UFW-Regeln konfiguriert haben, müssen Sie unbedingt bestätigen, dass sie wie vorgesehen funktionieren. So wie Sie zu Beginn dieses Handbuchs Ihren Redis-Server angepingt haben, um sicherzustellen, dass er betriebsbereit ist, können Sie auch Ihre neuen Firewall-Regeln testen. Sie können dies mithilfe des redis-cli Befehl:

redis-cli -h  <ip address> ping

Ersetzen Sie erneut <ip address> mit der IP-Adresse Ihres Redis-Servers. Wenn Ihre Firewall-Regeln korrekt eingerichtet wurden und der Redis-Server ordnungsgemäß funktioniert, sollte die Ausgabe dieses Befehls eine einfache pong.

In diesem Befehl redis-cli ist die Kommandozeilenschnittstelle für Redis, -h gibt den Host an (die IP-Adresse Ihres Servers) und ping ist ein Befehl zum Überprüfen der Konnektivität zum Redis-Server.

Interpretieren der Ausgabe

Die Ausgabe der redis-cli Mit dem Befehl können Sie bestätigen, ob die Firewall-Regeln wie erwartet funktionieren.

pong

Diese Ausgabe ist ein gutes Zeichen. pong Die Antwort zeigt an, dass der Redis-Server erreichbar und bereit ist, Befehle anzunehmen. Sie bestätigt, dass die Firewall-Regeln, die Sie in UFW eingerichtet haben, ordnungsgemäß funktionieren und der Server wie vorgesehen kommunizieren kann.

Zusätzliche Redis-Konfigurationsbeispiele

Wie bereits erwähnt, ist Redis ein flexibler In-Memory-Datenspeicher mit vielen Funktionen. Er kann für Caching und Messaging verwendet werden. Durch Ändern der Konfigurationsdatei können Sie Redis nach Ihren Wünschen gestalten. Hier zeigen wir weitere Konfigurationsoptionen für Redis.

Festlegen der Ablaufrichtlinie für Schlüsselwerte

Um eine Standard-Time-to-Live (TTL) für Schlüssel in Redis festzulegen, ändern Sie die Einstellungen maxmemory-policy und maxmemory-samples in der Konfigurationsdatei. Verwenden Sie den folgenden Befehl, um die Datei zu öffnen:

sudo nano /etc/redis/redis.conf

Suche nach maxmemory-policy Einstellung und konfigurieren Sie sie nach Ihren Wünschen. Wenn Sie beispielsweise eine Richtlinie einrichten möchten, die Schlüssel gemäß dem Least Recently Used (LRU)-Algorithmus ablaufen lässt, aktualisieren Sie die Konfiguration wie folgt:

maxmemory-policy volatile-lru

Suchen Sie als nächstes den maxmemory-samples Einstellung. Dies bestimmt die Anzahl der Beispiele, die Redis überprüfen soll, um zur Räumungsentscheidung zu gelangen:

maxmemory-samples 5

TCP-Keepalive aktivieren

Die Aktivierung von TCP-Keepalive kann dabei helfen, inaktive Verbindungen zu erkennen und zu schließen, wodurch wiederum wertvolle Systemressourcen freigegeben werden. Suchen Sie den tcp-keepalive Einstellung in der /etc/redis/redis.conf Datei, um es zu aktivieren:

tcp-keepalive 300

In diesem Beispiel setzen wir das Keepalive-Intervall auf 300 Sekunden. Sie sollten diesen Wert entsprechend den Anforderungen und Bedingungen Ihres Servers anpassen.

Einrichten der Slow-Log-Überwachung

Langsame Protokolle bieten einen wertvollen Mechanismus zum Aufspüren von Leistungsproblemen. Dies geschieht durch das Protokollieren von Abfragen, die eine bestimmte Dauer überschreiten. Finden Sie die slowlog-log-slower-than Und slowlog-max-len Einstellungen im /etc/redis/redis.conf Datei zum Konfigurieren langsamer Protokolle:

slowlog-log-slower-than 10000
slowlog-max-len 128

Das obige Beispiel setzt den Slowlog-Schwellenwert auf 10.000 Mikrosekunden (entspricht 10 Millisekunden). Das Slowlog speichert die 128 aktuellsten Einträge. Sie sollten diese Werte an Ihre spezifischen Anforderungen und Bedingungen anpassen.

Aktivieren von Redis-Ereignisbenachrichtigungen

Redis kann Benachrichtigungen für bestimmte Ereignisse erstellen und stellt damit ein leistungsstarkes Tool für die Überwachung und Fehlerbehebung dar. Um Ereignisbenachrichtigungen zu aktivieren, suchen Sie den notify-keyspace-events Einstellung in der /etc/redis/redis.conf Datei:

notify-keyspace-events ExA

Hier konfigurieren wir Redis so, dass Benachrichtigungen für abgelaufene und gelöschte Schlüssel versendet werden. Die offizielle Redis-Dokumentation ist eine umfassende Ressource für weitere Informationen zu Ereignisbenachrichtigungen und verfügbaren Optionen.

Anpassen der Redis-Protokollierungsebene

Um Probleme mit Redis besser zu beheben und es besser zu überwachen, ändern Sie die Protokollierungsstufe. Sie können dies in der Datei /etc/redis/redis.conf tun, indem Sie die Einstellung für die Protokollierungsstufe anpassen:

loglevel notice

Wir haben die Standardprotokollierungsstufe auf „Hinweis“ eingestellt. Andere Optionen sind „Debuggen“, „Ausführlich“, „Hinweis“ und „Warnung“. Wählen Sie die Stufe, die Ihren Anforderungen am besten entspricht.

sudo systemctl restart redis-server

Dieser Befehl startet Redis neu und die Änderungen werden aktiv.

Abschließende Gedanken

Wir haben die Installation und Konfiguration von Redis auf Debian 12-, 11- oder 10-Servern behandelt. Dies umfasst die Erstinstallation, die Firewall-Konfiguration für die Sicherheit und andere Anpassungsoptionen. Redis bietet viele Konfigurationsmöglichkeiten, mit denen Sie seine Leistung und sein Verhalten an Ihre Bedürfnisse anpassen können.

Joshua James
Folgen Sie mir
Letzte Artikel von Joshua James (Alle anzeigen)

Hinterlasse einen Kommentar