Ich habe gerade Redis installiert und es funktioniert überhaupt nicht, wenn ich versuche, den Dienst mit dem Befehl zu starten:
sudo service redis-server start
Dies ist das Ergebnis von journalctl -xe
:
Subject: Unit redis-server.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit redis-server.service has finished shutting down.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
und das ist das Ergebnis von systemctl status redis-server.service
:
redis-server.service - Redis Datastore Server
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: resources) since Kam 2017-03-02 13:22:46 WIB; 5min ago
Process: 12120 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf (code=exited, status=0/SUCCESS)
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Mar 02 13:22:46 aaaaa-notebook systemd[1]: redis-server.service: Unit entered failed state.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Failed with result 'resources'.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Mar 02 13:22:46 aaa-notebook systemd[1]: Stopped Redis Datastore Server.
Mar 02 13:22:46 aaa-notebook systemd[1]: redis-server.service: Start request repeated too quickly.
Mar 02 13:22:46 aaa-notebook systemd[1]: Failed to start Redis Datastore Server.
Öffnen Sie Ihren Dienst mit einem beliebigen Editor.
Schauen Sie sich Ihren
[Service]
Abschnitt beiExecStart
mir an:Führen Sie diesen Befehl aus, um festzustellen, welche Fehler auftreten. Meins antwortete damit:
Also habe ich gerade diese Zeile auf diese aktualisiert (wo meine eigentliche Konfigurationsdatei war)
Hier platziert redis quickstart es standardmäßig ... :)
quelle
Ich hatte den gleichen Fehler. Aber für mich war der Grund völlig anders: Es lag an einem Tippfehler in meiner
redis.conf
Datei. Wenn Sie dies korrigieren undsudo systemctl restart redis-server
neu starten, wird Redis sofort neu gestartet. Es ist irreführend, dass der gleiche Fehler auch für diesen Fall ausgegeben wird.quelle
In meinem Fall war das Protokollverzeichnis (
/var/log/redis
), das ich in der/etc/redis/redis.conf
Datei erwähne, nicht vorhandenWie finde ich den Fehler?
Versuchen
Dies ist der gleiche Befehl, der in meiner
/etc/systemd/system/redis.service
Datei vorhanden istLösung
1) Erstellen Sie das Protokollverzeichnis
2) Gewähren Sie den richtigen Zugriff zum Erstellen und Schreiben von Protokollen
Versuchen Sie, den Dienst erneut zu starten
oder
quelle
Die Datei redis.service fehlt im Verzeichnis "/ etc / systemd / system /"
Kopieren Sie dann diese Zeilen und fügen Sie sie ein
Speichern und schließen Sie diese Datei
Als nächstes ändern Sie die Verzeichnisberechtigungen
Als nächstes starten Sie den Redis-Server
Überprüfen Sie, ob es jetzt läuft
REFERENZ: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04
quelle
Bitte überprüfen Sie Ihre
redis.log
. Sie sollten so etwas sehen:Überprüfen Sie daher Ihre Systemgrenzen und möglicherweise die Dateiberechtigungen Ihres
redis
AOF (/var/lib/redis/*
). Für Systemgrenzen finden Sie hier eine gute Anleitung .quelle
Ich brauchte sowohl einen Ordner / var / lib / redis als auch einen Redis-Benutzer und eine Gruppe.
Ich habe Kevin Uptons /ubuntu//a/981641/451682 Ratschläge verwendet, um meine Probleme zu finden:
vim /etc/systemd/system/redis.service
führte mich zu/usr/local/bin/redis-server /etc/redis/redis.conf
den Antworten, mitCan't chdir to '/var/lib/redis': No such file or directory
denen ich erstellt habesudo mkdir /var/lib/redis
.Dann musste ich aber auch den Redis-Benutzer und die Redis-Gruppe erstellen und diese in das Verzeichnis / var / lib / redis einfügen, indem ich Rishik Rohans /ubuntu//a/918408/451682 folgte :
Danke euch beiden!
quelle
Nachdem Sie alle Einstellungen vorgenommen haben, versuchen Sie diese Befehle
Und danach
quelle
Schritte zur Behebung dieses Problems: - + ============== + A. Legen Sie das Speicherlimit in redis.conf in der 566-Zahlenzeile fest
566 maxmemory 256mb 567 maxmemory-policy allkeys-lru
B. Setzen Sie die Einstellung für den Overcommit-Speicher des Linux-Kernels auf 1:
$ sudo sysctl vm.overcommit_memory = 1
oder /etc/sysctl.conf und ändern Sie es in 1.
C. Starten Sie den Redis-Server jetzt neu.
$ systemctl restart redis
Bitte überprüfen Sie jetzt den Redis-Status.
Wenn das Problem weiterhin besteht, bearbeiten Sie die Servicedatei und bearbeiten Sie sie erneut.
========= vi /etc/systemd/system/redis.service
Sie werden so sehen: -
[Einheit] Beschreibung = Redis In-Memory-Datenspeicher nach = network.target
[Service] Benutzer = root Gruppe = root ExecStart = / usr / local / bin / redis-server /etc/redis/redis.conf ExecStop = / usr / local / bin / redis-cli Herunterfahren Neustart = immer
Typ = Gabeln
[Installieren] WantedBy = multi-user.target
Ändern Sie es ExecStart = / usr / local / bin / redis-server /etc/redis/redis.conf
zu
ExecStart = / usr / local / bin / redis-server /etc/redis.conf
Starten Sie jetzt den Redis-Dienst
$ systemctl start redis
Jetzt startet Redis ohne Fehler.
+ ============== +
Testen der Redis: -
[root @ server] # redis-cli 127.0.0.1:6379> ping Verwenden Sie den Befehl echo, um eine bestimmte Zeichenfolge wiederzugeben: 127.0.0.1:6379> echo "Tecmint testet Redis" Sie können einen Schlüsselwert auch mit dem Befehl set festlegen wie folgt: 127.0.0.1:6379> set mykey "testet Redis" Jetzt den Wert von mykey anzeigen: 127.0.0.1:6379> get mykey "testet Redis" 127.0.0.1:6379> exit [root @ server] #
Jetzt wurde Redis erfolgreich gestartet und ausgeführt.
+ ================== +
Danke und Grüße
quelle