So sieht die Meldung aus
{"reqId":"Yk3x...","level":3,"message":"RedisException: Redis went away in /var/www/nextcloud/lib/private/RedisFactory.php"}Häufige Ursachen
- Redis läuft nicht: abgestürzt, durch ein Update gestoppt oder vom Out-of-Memory-Killer beendet.
- Der
redis-Block in derconfig.phpzeigt auf den falschen Host, Port oder Socket-Pfad. - Redis lauscht auf einem Unix-Socket, aber der Webserver-Benutzer ist nicht in der Gruppe
redisoderunixsocketpermist zu streng. - Redis schließt inaktive oder überlastete Verbindungen, z. B. wegen eines niedrigen
timeout,maxclientsoder eines Speicherlimits.
Prüfen
- Läuft Redis?
systemctl status redis-server --no-pager - Antwortet Redis am Socket?
redis-cli -s /run/redis/redis-server.sock ping - Was ist in Nextcloud eingetragen?
- Warum ist Redis gestoppt?
Lösung
- Starten und dauerhaft aktivieren:
systemctl enable --now redis-server. - Nextcloud auf denselben Endpunkt zeigen lassen, auf dem Redis lauscht, z. B.
occ config:system:set redis host --value=/run/redis/redis-server.sockundocc config:system:set redis port --value=0 --type=integer. - Beim Socket den Webserver-Benutzer in die Gruppe aufnehmen:
usermod -aG redis www-data,unixsocketperm 770in derredis.confsetzen, dann Redis und PHP-FPM neu starten. - Zeigt das Kernel-Log, dass Redis wegen Speicher beendet wurde, dem Host mehr RAM geben oder andere Dienste verkleinern. Ein passendes
maxmemorysetzen. - Nach ein paar Minuten die
nextcloud.logerneut prüfen, ob der Fehler weg ist.
Häufige Fragen
Kann ich Redis einfach aus der config.php entfernen?
Ja, als Test oder Notlösung. Nextcloud nutzt dann die Datenbank für das File Locking, was langsamer ist und mehr Sperrkonflikte auslösen kann. Besser Redis reparieren, als es wegzulassen.
Gehen Daten verloren, wenn Redis weg ist?
Nein. Redis hält Sperren und Cache, nicht deine Dateien. Nach einem Neustart werden die Sperren neu aufgebaut. Hängende Sperren nach einem Absturz lassen sich mit dem Eintrag zu gesperrten Dateien in diesem Lexikon beheben.