DE ·

Nextcloud auf VPS perfekt optimieren: Schritt-für-Schritt-Anleitung mit Redis und NGINX Caching

Lerne, wie du Nextcloud auf einem VPS mit Redis und NGINX Caching für maximale Performance einrichtest. Schritt-für-Schritt-Anleitung für schnelle und stabile Cloud.

Warum Nextcloud mit Redis und NGINX Caching optimieren?

Nextcloud ist eine leistungsstarke Cloud-Lösung, aber ohne Optimierung kann die Performance auf einem VPS leiden. Durch den Einsatz von Redis als Cache und NGINX Caching für statische Dateien erreichst du eine deutlich schnellere Auslieferung und entlastest den Server. Diese Anleitung zeigt dir, wie du beides einrichtest.

Voraussetzungen

  • Ein VPS mit Ubuntu 20.04 oder 22.04 (oder Debian)
  • Bereits installierter NGINX und PHP (z.B. PHP 8.1)
  • Eine laufende Nextcloud-Installation (z.B. unter /var/www/nextcloud)
  • Root-Zugriff per SSH

Schritt 1: Redis installieren und konfigurieren

Redis dient als Memory-Cache für Nextcloud und reduziert Datenbankabfragen.

1.1 Redis installieren

Führe folgende Befehle aus:

sudo apt update
sudo apt install redis-server php-redis -y

1.2 Redis optimieren

Bearbeite die Konfigurationsdatei /etc/redis/redis.conf:

  • Setze maxmemory 256mb (angepasst an deinen VPS)
  • Setze maxmemory-policy allkeys-lru
  • Aktiviere unixsocket /var/run/redis/redis.sock und setze Berechtigungen

Starte Redis neu: sudo systemctl restart redis

Schritt 2: Nextcloud für Redis konfigurieren

Füge in der config.php von Nextcloud folgende Zeilen ein (unter 'memcache.local'):

'memcache.local' => '\OC\Memcache\Redis',
'redis' => [
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,
    'dbindex' => 0,
    'password' => '',
    'timeout' => 1.5,
],

Speichern und Nextcloud-Cache leeren: sudo -u www-data php /var/www/nextcloud/occ maintenance:repair

Schritt 3: NGINX Caching einrichten

NGINX kann statische Dateien (Bilder, CSS, JS) cachen, um die Auslieferung zu beschleunigen.

3.1 Cache-Pfad anlegen

sudo mkdir -p /var/cache/nginx/nextcloud
sudo chown www-data:www-data /var/cache/nginx/nextcloud

3.2 NGINX-Konfiguration anpassen

Öffne die Server-Konfiguration (z.B. /etc/nginx/sites-available/nextcloud) und füge im server-Block ein:

proxy_cache_path /var/cache/nginx/nextcloud levels=1:2 keys_zone=nextcloud:10m max_size=1g inactive=60m use_temp_path=off;

location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff2)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
    proxy_cache nextcloud;
    proxy_cache_valid 200 30d;
    proxy_pass http://nextcloud_upstream;
    proxy_cache_use_stale error timeout updating;
}

Passe den Upstream an (z.B. upstream nextcloud_upstream { server unix:/var/run/php/php8.1-fpm.sock; }). Teste die Konfiguration: sudo nginx -t und lade neu: sudo systemctl reload nginx

Schritt 4: Weitere Optimierungen

  • PHP-OpCache aktivieren: In /etc/php/8.1/cli/conf.d/10-opcache.ini opcache.enable=1 setzen.
  • Datenbank optimieren: Verwende MariaDB mit InnoDB und ausreichendem Buffer Pool.
  • VPS-Größe anpassen: Mehr RAM hilft Redis und NGINX Cache.

Performance testen

Nutze Tools wie ab (Apache Bench) oder siege, um die Ladezeit zu messen. Vergleiche vor und nach der Optimierung.

Wenn du noch keinen VPS hast, schau dir unsere VPS-Angebote an – ideal für Nextcloud. Auch passende Domains findest du bei uns.