Wir haben Redis-Server auf einer Reihe von AWS EC2 Ubuntu-Instanzen (14.04.4 LTS) ohne Probleme ausgeführt. Ich habe einen Testserver hochgefahren, um das Upgrade auf Ubuntu 16.04.1 LTS zu versuchen, und jetzt funktioniert Redis nicht mehr.
Wenn ich versuche, Redis manuell zu starten, erhalte ich Folgendes:
~$ sudo service redis-server restart
Job for redis-server.service failed because the control process exited with error code. See "systemctl status redis-server.service" and "journalctl -xe" for details.
Fehlerinfo:
~$ systemctl status redis-server.service
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Wed 2016-10-19 19:26:06 UTC; 25min ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Process: 3730 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=1/FAILURE)
Process: 3724 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS)
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Control process exited, code=exited status=1
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Failed to start Advanced key-value store.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Unit entered failed state.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Failed with result 'exit-code'.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Stopped Advanced key-value store.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Start request repeated too quickly.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Failed to start Advanced key-value store.
Ich habe folgendes versucht:
- Server neu gestartet
- Führen Sie unser Bereitstellungsskript aus, das einen Redis-Neustart umfasst
- Dient
sudo apt-get
zum Deinstallieren und erneuten Installieren des Redis-Servers /etc/redis/redis.conf
Führen Sie die Installation zweimal durch, einmal akzeptieren Sie die neue Datei aus dem Paket und behalten Sie einmal unsere Originaldatei
Irgendwelche Vorschläge?
Antworten:
Ich habe redis mit installiert
apt-get install redis-server
Das Problem für mich: Die Tutorials, die ich gefunden habe, zB. Bei der anderen Antwort auf diese Frage wird davon ausgegangen, dass sich Redis-Binärdateien in befinden
/usr/local/bin
.Bei meiner Installation befinden sie sich in,
/usr/bin
sodass sich ein Fix dafür ändert/etc/systemd/system/redis.service
, um dies widerzuspiegeln.Zu diesem Zeitpunkt kann ich
/usr/bin/redis-server /etc/redis/redis.conf
manuell starten und erfolgreich ausführensudo systemctl start redis
.Was Sie also tun müssen, damit redis am 16.04 funktioniert, ist:
apt-get install redis-server
, laden Sie den Teer nicht herunter und erstellen und installieren Sie ihn.sudo vi /etc/systemd/system/redis.service
sudo systemctl start redis
sudo /usr/bin/redis-server /etc/redis/redis.conf
.Der wichtige Teil, den ich bearbeiten musste, war sicherzustellen, dass
Linien zeigten nicht auf
usr/local/bin/foo
- müssen entfernt werden/local
quelle
Ich hatte das gleiche Problem, aber die Ursache war anders.
Ich habe Redis zum Testen auf einer VM mit DHCP-Client verwendet.
Die Konfiguration
/etc/redis/redis.conf
zeigte auf die falsche (alte) lokale IP und konnte den Dienst daher nicht an die neu zugewiesene IP von DHCP binden.Hier ist das Protokoll für ein solches Problem:
quelle
Vielleicht versuchen Sie dies, hier ist eine funktionierende Konfiguration, um zu
/lib/systemd/system/redis.service
sehen, ob dies möglicherweise für Sie funktioniert.Überprüfen Sie dann die in der Konfiguration angegebene Protokolldatei
/etc/redis/redis.conf
, um sicherzustellen, dass Sie über die richtigen Berechtigungen verfügen.quelle
Wenn Sie Ubuntu verwenden, sollten Sie
supervised systemd
in/etc/redis/redis.conf
.quelle