Redis ist ein kostenloser Open-Source-In-Memory-Schlüsselwertspeicher, der verschiedene Arten von Datenstrukturen unterstützt. Sie können es als Datenbank, Cache, Nachrichtenbroker und Warteschlange verwenden. Es wird zum Erstellen leistungsstarker und skalierbarer Webanwendungen verwendet. Es unterstützt eine breite Palette von Programmiersprachen wie Java, PHP, C, Perl, Python, C#, Lua, Go und viele mehr. Es ist plattformübergreifend und funktioniert in den meisten Unix-basierten Betriebssystemen, einschließlich Linux, *BSD und OS X.
In diesem Tutorial erklären wir, wie man Redis auf einem CentOS 8-Server installiert.
Voraussetzungen
- Ein Server mit CentOS 8.
- Ein Root-Passwort wird auf dem Server konfiguriert.
Redis-Server installieren
Standardmäßig ist das Redis-Paket im CentOS 8-Standard-Repository verfügbar. Sie können es installieren, indem Sie den folgenden Befehl ausführen:
dnf install redis -y
Starten Sie nach der Installation des Redis-Servers den Redis-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:
systemctl start redis
systemctl enable redis
Sie können den Status des Redis-Servers auch mit dem folgenden Befehl überprüfen:
systemctl status redis
Sie sollten die folgende Ausgabe erhalten:
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d ??limit.conf Active: active (running) since Tue 2020-09-15 04:52:54 EDT; 6s ago Main PID: 3076 (redis-server) Tasks: 4 (limit: 12527) Memory: 6.6M CGroup: /system.slice/redis.service ??3076 /usr/bin/redis-server 127.0.0.1:6379 Sep 15 04:52:54 centos8 systemd[1]: Starting Redis persistent key-value database... Sep 15 04:52:54 centos8 systemd[1]: Started Redis persistent key-value database.
Standardmäßig überwacht Redis Port 6379. Sie können dies mit dem folgenden Befehl überprüfen:
ss -ant | grep 6379
Sie sollten die folgende Ausgabe erhalten:
LISTEN 0 128 127.0.0.1:6379 0.0.0.0:*
Testen Sie als Nächstes die Redis-Konnektivität mit dem folgenden Befehl:
redis-cli
Sie sollten die folgende Ausgabe sehen:
127.0.0.1:6379>
Führen Sie nun den folgenden Befehl aus, um die Konnektivität zu überprüfen:
127.0.0.1:6379> ping
Sie sollten die folgende Ausgabe sehen:
PONG
Redis-Cache konfigurieren
Als nächstes müssen Sie Redis als Caching-Server konfigurieren. Sie können dies tun, indem Sie die Redis-Konfigurationsdatei bearbeiten:
nano /etc/redis.conf
Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:
maxmemory 128mb maxmemory-policy allkeys-lru
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Redis-Dienst mit dem folgenden Befehl neu:
systemctl restart redis
Sicherer Redis-Server
Standardmäßig können Sie mit redis-cli jeden Befehl in der Raedis-Shell ausführen. Es bietet sich also an, eine Redis-Shell mit dem Passwort zu sichern. Sie können die Passwortauthentifizierung aktivieren, indem Sie die Datei /etc/redis.conf bearbeiten:
nano /etc/redis.conf
Suchen Sie die folgende Zeile:
# requirepass foobared
Und ersetzen Sie es durch die folgende Zeile:
requirepass A	D3Fs4%#df
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Redis-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl restart redis
Verbinden Sie sich nun mit dem Redis mit dem folgenden Befehl:
redis-cli
Sobald die Verbindung hergestellt ist, führen Sie den folgenden Befehl aus:
127.0.0.1:6379> INFO server
Sie erhalten die folgende Fehlermeldung, weil Sie sich nicht authentifizieren.
NOAUTH Authentication required.
Führen Sie nun den folgenden Befehl aus, um sich mit dem in der Redis-Konfigurationsdatei angegebenen Passwort zu authentifizieren:
127.0.0.1:6379> AUTH A	D3Fs4%#df
Sie sollten die folgende Ausgabe sehen:
OK
Führen Sie nun den folgenden Befehl aus:
127.0.0.1:6379> INFO server
Sie sollten die folgende Ausgabe erhalten:
# Server redis_version:5.0.3 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:28849dbea6f07cc8 redis_mode:standalone os:Linux 4.18.0-193.14.2.el8_2.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:8.3.1 process_id:3176 run_id:2bf42acb9a0c0f251220c9bf5d66982b1c0b1d87 tcp_port:6379 uptime_in_seconds:41 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:6324712 executable:/usr/bin/redis-server config_file:/etc/redis.conf
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Gefährlichen Befehl umbenennen
Es wird auch empfohlen, einige gefährliche Befehle in der Redis-Shell umzubenennen. Einer der gefährlichsten Befehle ist "config". Es wird verwendet, um das Redis-Passwort abzurufen.
Sehen wir uns an, wie Sie das Redis-Passwort mit dem Befehl „config“ abrufen.
Stellen Sie zunächst mit dem folgenden Befehl eine Verbindung zu Redis her:
redis-cli
Sobald die Verbindung hergestellt ist, authentifizieren Sie Redis mit dem folgenden Befehl:
127.0.0.1:6379> AUTH A	D3Fs4%#df
Rufen Sie als Nächstes das Redis-Passwort mit dem folgenden Befehl ab:
127.0.0.1:6379> config get requirepass
Sie sollten das Redis-Passwort in der folgenden Ausgabe erhalten:
1) "requirepass" 2) "A	D3Fs4%#df"
Sie können den Befehl "config" umbenennen, indem Sie die Datei /etc/redis.conf:
bearbeitennano /etc/redis.conf
Suchen Sie die folgende Zeile:
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
Und ersetzen Sie es durch die folgende Zeile:
rename-command CONFIG hitredis
Speichern und schließen Sie die Datei. Starten Sie dann den Redis-Dienst mit dem folgenden Befehl neu:
systemctl restart redis
Verbinden und authentifizieren Sie nun das Redis mit dem folgenden Befehl:
redis-cli
127.0.0.1:6379> AUTH A	D3Fs4%#df
Rufen Sie nun das Redis-Passwort mit dem Befehl „config“ ab:
127.0.0.1:6379> config get requirepass
Sie sollten die folgende Fehlermeldung erhalten:
(error) ERR unknown command `config`, with args beginning with: `get`, `requirepass`,
Führen Sie nun den umbenannten Befehl wie unten gezeigt aus:
127.0.0.1:6379> hitredis get requirepass
Sie sollten Ihr Redis-Passwort in der folgenden Ausgabe erhalten:
1) "requirepass" 2) "A	D3Fs4%#df"
Schlussfolgerung
Herzliche Glückwünsche! Sie haben den Redis-Server erfolgreich auf CentOS 8 installiert und gesichert. Sie können jetzt Ihre Anwendung hosten und sie so konfigurieren, dass sie den Redis-Cache verwendet. Fühlen Sie sich frei, mich zu fragen, wenn Sie irgendwelche Fragen haben.