, , , , , ,

NextCloud Memcache mit Redis

•

min Lesezeit

•

Letzte Änderung

Das letzte Update war vor 3. November 2026 von schaechner

Nach dem Update auf NextCloud 27 gibt es bei vielen folgenden Fehler:

Die Datenbank wird zum Sperren von Transaktionsdateien verwendet. Um die Leistung zu verbessern, richte bitte, sofern verfügbar, Memcache ein.

Wir zeigen euch, wie Ihr diesen ohne viel Ärger wegbekommt. Dazu richten wir Memcache mir Redis ein:

Zuerst installieren wir Apcu mit

sudo apt install php-apcu

Danach müssen wir Redis installieren. Das geht mit folgendem Befehl:

sudo apt install redis-server php-redis

Die installierte Redis-Instanz müssen wir nun bearbeiten.

In der

sudo nano /etc/redis/redis.conf

Datei ändern wir port 6379 zu

port 0

Dann entfernen wir das # vor

unixsocket /var/run/redis/redis-server.sock

Die Zeile darunter verändern wir zu

unixsocketperm 770

Die Datei speichern wir mit strg + o und verlassen sie mit strg + x.

Jetzt müssen wir den Redis Benutzer noch zur Gruppe www-data hinzufügen. Das geht mit dem folgenden Befehl:

sudo usermod -a -G redis www-data

Wenn wir das gemacht haben, starten wir Redis mit

sudo service redis-server restart

neu.

Jetzt können wir auch noch den Webserver mit

sudo service apache2 restart

neustarten. Danach bearbeiten wir die Nextcloud config.php Datei mit

sudo nano /var/www/nextcloud/config/config.php

Dort ändern wir die Zeile memcache.local so, dass die Datei am Ende folgenden Inhalt hat:

  'memcache.local' => '\\OC\\Memcache\\APCu',
  'filelocking.enabled' => 'true',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
  ),

Jetzt sollte der Fehler behoben sein.

Meldet euch gerne bei Fragen oder Verbesserungsvorschlägen unten über die Kommentar-Funktion!

Weiterführende Anleitungen


6 Kommentare zu „NextCloud Memcache mit Redis“

  1. Avatar von tuvok
    tuvok

    •

    Hallo,
    ich habe das leerzeichen berücksichtigt dennoch bekomme ich ein

    Internal Server Error

    The server encountered an internal error and was unable to complete your request.
    Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
    More details can be found in the server log.

    Ich habe die letzte Aktuelle Version drauf.

    Leider bin ich nicht so Gut in diesen Dingen, dass ich mir da selbst helfen kann.

    1. Avatar von schaechner

      Hallo tuvok,
      ich habe den Inhalt für die config-Datei nochmals ein wenig angepasst:

      'memcache.local' => '\\OC\\Memcache\\APCu',
      'filelocking.enabled' => 'true',
      'memcache.locking' => '\\OC\\Memcache\\Redis',
      'redis' =>
      array (
      'host' => '/var/run/redis/redis-server.sock',
      'port' => 0,
      ),

      Kannst du das mal ausprobieren? Melde dich ansonsten gerne erneut, wenn es immer noch nicht funktionieren sollte.
      Falls das der Fall ist könntest du unst einfach mal deine Config (ohne Passwörter, etc.) hier schicken, damit wir sie uns anschauen.
      Viele Grüße und ein schönes Wochenende!

  2. Avatar von Pascal
    Pascal

    •

    hallo,
    Also wenn ich deiner anleitung folge komme ich erstmal auf den punt das in meiner config.php memcache.local garnicht drin steht und wenn ich dann darin

     'memcache.local' => '\\OC\\Memcache\\APCu',
      'filelocking.enabled' => 'true',
      'memcache.locking' => '\\OC\\Memcache\\Redis',
      'redis' => array(
        'host' => '/var/run/redis/redis-server.sock',
        'port' => 0,
        ),
    

    eintrage dann schreib meine Nextcloud mir

    Internal Server Error
    
    The server encountered an internal error and was unable to complete your request.
    Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
    More details can be found in the webserver log.
    

    Könntest du mir da weiterhelfen ?
    LG
    Pascal

    1. Avatar von Stephan
      Stephan

      •

      Hatte das selbe Problem.

      In der Zeile:
      ‚redis‘ => array( fehlt ein Leerzeichen,
      es müsste:
      ‚redis‘ => array (
      heissen.

      Danach hat es bei mir funktioniert.

      Vielen Dank an Vinzenz für die Anleitung, hat mir sehr geholfen.
      Gruß
      Stephan

      1. Avatar von Vinzenz Schächner
        Vinzenz Schächner

        •

        Vielen Dank Stephan für deinen Hinweis. Wie man sieht, hat das uns schon geholfen!
        Es freut uns auch sehr, dass dir die Anleitung geholfen hat und du auch unseren Fehler bemerkt hast!
        Einen schönen Abend mit der Familie oder den Computer an euch alle!

    2. Avatar von Vinzenz Schächner
      Vinzenz Schächner

      •

      Wie @Stefphan schon geschrieben hat, habe ich da das Leerzeichen übersehen.
      Tut mir leid. Hier sieht man wieder, dass man nicht alles kopieren soll (-;, aber das soll kein Vorwurf sein.
      Das war eindeutig mein Fehler, Entschuldigung.
      In der Anleitung haben wir das schon ausgebessert, sollte das Problem aber trotzdem noch bestehen, kannst du uns gerne deine Config schicken (du musst nur die sensiblen Bereiche entfernen).
      Viele Grüße und vielen Dank für deine Frage!

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert