Redis ist eine Open-Source-Software, die als Datenbank und Cache im Arbeitsspeicher verwendet wird und eine außergewöhnliche Leistung ermöglicht. Wenn Sie bereit sind, dieses blitzschnelle Programm auszuprobieren, empfehlen die Entwickler, Redis auf einem Linux-System zu installieren, und was wäre ein besserer Kandidat als Ubuntu Linux?
In diesem Tutorial führen wir Sie Schritt für Schritt durch die Installation von Redis (sowohl Server als auch Client) unter Ubuntu. Anschließend überprüfen wir, ob eine Verbindung hergestellt werden kann, und konfigurieren die UFW-Firewall so, dass eingehende Verbindungen zugelassen werden.
In diesem Tutorial lernen Sie:
- So installieren Sie Redis Server und Client unter Ubuntu Linux
- Durchführen eines Verbindungstests und Konfigurieren von UFW zum Zulassen von Redis
Redis auf Ubuntu
Kategorie | Anforderungen, Konventionen oder verwendete Softwareversion |
---|---|
System | Ubuntu-Linux |
Software | Redis |
Andere | Privilegierter Zugriff auf Ihr Linux-System als root oder über sudo Befehl. |
Konventionen | # – erfordert, dass bestimmte Linux-Befehle mit Root-Rechten ausgeführt werden, entweder direkt als Root-Benutzer oder durch Verwendung von sudo Befehl$ – erfordert, dass bestimmte Linux-Befehle als normaler, nicht privilegierter Benutzer ausgeführt werden |
Installieren Sie den Redis-Client auf Ubuntu
Als erstes müssen wir Redis installieren, indem wir ein Befehlszeilenterminal öffnen und den folgenden Befehl eingeben.
Wenn Sie Ihren Computer nur verwenden, um eine Verbindung zu Redis (an anderer Stelle gehostet) herzustellen, müssen Sie nur den Redis-Client installieren. Verwenden Sie diesen Befehl:
$ sudo apt install redis-tools
Sobald es installiert ist, können Sie das redis-cli
verwenden Befehl zum Öffnen eines Redis-Terminals für einen Remote-Server. Dies wäre beispielsweise der Befehl, der verwendet wird, um eine Verbindung zu einem Redis-Server mit dem Hostnamen redis-ubuntu
herzustellen . Beachten Sie, dass wir auch den Ping-Befehl verwenden, um die Konnektivität zu überprüfen.
$ redis-cli -h redis-ubuntu redis-ubuntu:6379> ping PONG redis-ubuntu:6379>Ping Redis auf Ubuntu
Wenn der Redis-Server nicht den Standardport verwendet, können Sie einen Port in Ihrem redis-cli
angeben Befehl mit dem -p
Option, etwa so:
$ redis-cli -h redis-ubuntu -p 1234
Falls Sie die Fehlermeldung „Verbindung abgelehnt“ erhalten, geben wir Ihnen weiter unten in diesem Artikel einige Tipps zur Fehlerbehebung.
Could not connect to Redis at redis-ubuntu:6379: Connection refused
Redis-Server auf Ubuntu installieren
Wenn Sie vorhaben, einen Redis-Server zu hosten, benötigen Sie das Serverpaket. Dadurch wird auch automatisch das Redis-Client-Paket installiert. Verwenden Sie diesen Befehl im Terminal:
$ sudo apt install redis-server
Sie können überprüfen, ob Redis auf einem System installiert ist, und die installierte Version mit dem folgenden Befehl überprüfen:
$ redis-server -v Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923
Darüber hinaus können Sie den Befehl ss verwenden, um zu bestätigen, dass Redis an seinem Standardport 6379
auf eingehende Verbindungen wartet :
$ ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 5 [::1]:631 [::]:*
LISTEN 0 511 [::1]:6379 [::]:*
Standardmäßig wird der Redis-Server automatisch gestartet, wenn Ihr System neu gestartet wird. Sie können dieses Verhalten ändern, indem Sie den systemctl-Befehl von systemd verwenden. Sie können es auch verwenden, um den aktuellen Status von Redis zu überprüfen.
$ sudo systemctl disable redis-server #disable Redis from starting up automatically $ sudo systemctl enable redis-server #enable Redis to start up automatically $ systemctl status redis-server #check the current status of Redis server
Standardmäßig überwacht der Redis-Server nur die lokale Loopback-Schnittstelle 127.0.0.1
, was bedeutet, dass es keine Remote-Verbindungen akzeptiert. Sie können Redis so konfigurieren, dass es eine andere Netzwerkschnittstelle oder alle Netzwerkschnittstellen abhört, indem Sie die Redis-conf-Datei mit nano oder Ihrem bevorzugten Texteditor öffnen:
$ sudo nano /etc/redis/redis.conf
Damit Redis auf allen Netzwerkschnittstellen lauschen kann, kommentieren Sie einfach die folgende Zeile, indem Sie ein vorangestelltes #
einfügen :
bind 127.0.0.1 ::1Kommentieren Sie diese Zeile, damit Redis auf allen Schnittstellen lauscht
Es gibt noch eine weitere Zeile, die wir ändern müssen, wenn Redis Remoteverbindungen akzeptieren soll. Suchen Sie den protected-mode
Teil der Konfigurationsdatei und ändere sie wie folgt:
FROM: protected-mode yes TO: protected-mode noDeaktivieren des geschützten Modus
Speichern Sie Ihre Änderungen an dieser Datei und schließen Sie sie. Achten Sie darauf, Redis neu zu starten, damit die Änderungen wirksam werden:
$ sudo systemctl restart redis-server
Sie sollten jetzt sehen, dass Redis auf 0.0.0.0
lauscht , das alle Netzwerkschnittstellen repräsentiert.
$ ss -nlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 511 0.0.0.0:6379 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 5 [::1]:631 [::]:*
LISTEN 0 511 [::]:6379 [::]:*
Das Letzte, was Sie möglicherweise tun müssen, um eingehende Verbindungen zu akzeptieren, ist, Port 6379
zuzulassen durch die UFW-Firewall.
$ sudo ufw allow from any to any port 6379 proto tcp Rules updated Rules updated (v6)
Der Redis-Server sollte nun eingehende Verbindungen akzeptieren.
Schlussfolgerung
In diesem Handbuch haben wir gelernt, wie man Redis-Client und -Server unter Ubuntu Linux installiert. Wir haben auch gesehen, wie man den Redis-Server so konfiguriert, dass er auf allen Netzwerkschnittstellen auf eingehende Verbindungen lauscht, und wie man eine Firewall-Ausnahme für Redis in UFW macht. Sie sollten jetzt in der Lage sein, Redis für Remote-Clients zu hosten oder den Redis-Client zu verwenden, um eine Verbindung zu anderen Servern herzustellen.