Manualul de administrare actual al Nextcloud documentează în continuare extensia PhpRedis pentru memorarea în cache Redis și blocarea fișierelor tranzacționale. De asemenea, documentează un backend KeyValueCache mai nou, fără extensii, adăugat în Nextcloud 34.0.2. Acest ghid utilizează configurația PhpRedis stabilită deoarece Ubuntu 24.04 oferă pachetul de extensii Redis PHP 8.3. Backend-ul mai nou este o opțiune atunci când versiunea Nextcloud îl acceptă, dar cheile sale de configurare diferă; nu combinați cele două exemple.
Rezultatul va fi un serviciu Redis local disponibil numai pentru gazda Nextcloud, memorie cache distribuită și blocare a fișierelor susținute de Redis și APCu pentru memoria cache locală mai rapidă. Aceasta este o configurație comună pentru un singur server. Dacă serverele web și PHP sunt împărțite pe mai multe gazde, utilizați un endpoint Redis partajat cu controale de rețea adecvate în locul setărilor localhost de mai jos.
Ce modifică Redis într-o instalare Nextcloud
Redis oferă Nextcloud un serviciu cheie-valoare pentru intrările distribuite din cache și blocările fișierelor tranzacționale. Aceste blocări ajută la prevenirea operațiunilor conflictuale atunci când mai multe cereri lucrează cu fișiere. Redis nu înlocuiește baza de date, stocarea fișierelor, PHP OPcache sau planul de backup ale Nextcloud. Pe un singur server, APCu este în general mai rapid pentru cache-ul local în timpul procesului, în timp ce Redis gestionează memoria cache partajată și blocările. Nextcloud avertizează, de asemenea, că utilizarea Redis ca cache local nu este recomandată, în special cu mai multe servere web.
Cel mai recent manual al Nextcloud identifică Redis ca backend acceptat și specifică PhpRedis 2.2.6 sau o versiune mai nouă pentru metoda bazată pe extensii. Arhiva de pachete Ubuntu 24.04 include php8.3-redisși redis-server. Revizuirile pachetelor se pot modifica pe măsură ce Ubuntu publică actualizări, așadar instalați din depozitele Ubuntu configurate, în loc să fixați o versiune copiată dintr-un ghid mai vechi. Referințe verificate la 6 octombrie 2026: Documentația Nextcloud pentru memorarea în cache , listarea pachetelor PHPRedis pentru Ubuntu 24.04 și listarea pachetelor pentru serverul Redis pentru Ubuntu 24.04 .
Înainte de a începe
- Confirmați directorul de instalare Nextcloud și runtime-ul PHP utilizat de site-ul web. Comenzile de mai jos presupun o instalare standard a pachetului Ubuntu cu PHP 8.3, Apache sau PHP-FPM și contul de serviciu web
www-data.
- Faceți o copie de rezervă
config/config.phpși notați cum să o restaurați. Calea exactă variază: de exemplu, o instalare de pachet ar putea utiliza /var/www/nextcloud/config/config.php, în timp ce o instalare manuală ar putea fi în altă parte.
- Folosește o fereastră de mentenanță dacă serverul gestionează încărcări active de fișiere. Repornirea Apache sau PHP-FPM întrerupe pentru scurt timp cererile web.
1. Instalați Redis, PhpRedis și APCu
Actualizați metadatele pachetului și instalați daemonul și extensiile PHP:
sudo apt update
sudo apt install redis-server php-redis php-apcu
Pachetul Ubuntu php-redisselectează extensia pentru versiunea PHP instalată. Dacă mențineți mai multe versiuni PHP sau utilizați un depozit PHP terț, verificați dacă extensia este instalată pentru versiunea exactă de PHP care deservește Nextcloud. Un modul activat doar pentru runtime-ul PHP din linia de comandă nu garantează că Apache sau PHP-FPM îl pot încărca.
Activați Redis la pornire și porniți-l acum, apoi verificați starea serviciului său:
sudo systemctl enable --now redis-server
sudo systemctl status redis-server --no-pager
redis-cli ping
Un răspuns Redis local sănătos la ultima comandă este PONG. Dacă serviciul este inactiv, verificați sudo journalctl -u redis-server -n 50 --no-pagerînainte de a modifica configurația Nextcloud.
2. Păstrați ascultătorul Redis local
Pentru o instalare cu o singură gazdă, Redis nu trebuie să asculte pe o interfață publică. Configurația pachetului Ubuntu este în mod normal concepută pentru acces local și mod protejat; verificați-o /etc/redis/redis.confînainte de a o modifica:
sudo grep -E '^(bind|protected-mode|port|unixsocket)' /etc/redis/redis.conf
Păstrați Redis legat la loopback (de obicei 127.0.0.1și ::1) și lăsați modul protejat activat. Nu expuneți portul 6379la internet și nu vă legați la 0.0.0.0pentru această configurație locală. După orice modificare a configurației Redis, reporniți serviciul și repetați redis-cli ping.
Acest ghid folosește TCP pe localhost pentru a minimiza modificările permisiunilor socket. Un socket Unix este o altă opțiune locală acceptată și poate reduce costurile de conectare, dar calea socketului Redis, proprietatea grupului, permisiunile și configurația Nextcloud trebuie să se potrivească. Urmați exemplul de socket din manualul Nextcloud dacă alegeți în mod deliberat această rută.
3. Confirmați că PHP poate încărca ambele extensii
Verificați modulele PHP din linia de comandă:
php -m | grep -Ei '^(apcu|redis)$'
Ar trebui să vedeți ambele nume. Dacă lipsește unul, verificați fișierele modulelor activate cu php --iniși instalați pachetul corespunzător pentru versiunea dvs. de PHP. Reporniți handler-ul PHP utilizat de site-ul web, astfel încât lucrătorii săi să încarce noile module. Pentru Apache cu mod_php, executați sudo systemctl restart apache2. Pentru o instalare PHP-FPM folosind PHP 8.3, executați sudo systemctl restart php8.3-fpm; reporniți sau reîncărcați serverul web, în funcție de necesități.
Verificarea CLI este un prim semnal util, nu o dovadă completă a rulării web. Ulterior, utilizați setările de administrare ale Nextcloud și informațiile despre server sau vizualizarea informațiilor PHP pentru a verifica dacă procesul web recunoaște modulele cache.
4. Adăugați setările de cache în Nextcloud
Deschideți fișierul existent config/config.phpcu un editor. Mai întâi faceți o copie de rezervă a fișierului și îmbinați aceste intrări în matricea PHP existentă înainte de închiderea acesteia );. Nu înlocuiți întregul fișier și nu adăugați o a doua copie a cheilor care sunt deja prezente.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
Adresa explicită de loopback se potrivește cu serviciul Redis local. Dacă utilizați în schimb un socket Unix, utilizați calea socketului ca gazdă Redis și configurați daemonul și permisiunile pentru a se potrivi. Dacă Redis necesită autentificare, adăugați numele de utilizator și parola Redis ACL corecte la redismatrice și configurați Redis în consecință; nu lipiți niciodată o parolă reală într-un exemplu partajat sau într-o postare de asistență publică.
Păstrați setările existente, cum ar fi instanceid, acreditările bazei de date, domeniile de încredere și directorul de date, neschimbate. Sintaxa matricelor PHP este importantă: păstrați virgulele între intrări și asigurați-vă că fiecare setare apare o singură dată.
5. Validați memoria cache și blocarea fișierelor
Rulați verificarea stării din linia de comandă a Nextcloud din directorul de instalare ca utilizator al serviciului web. Înlocuiți calea exemplu dacă instalarea dvs. se află în altă parte:
cd /var/www/nextcloud
sudo -u www-data php occ status
Verificați interfața web din setările de administrare pentru avertismente de configurare și confirmați că modulele Redis și APCu sunt vizibile pentru runtime-ul web PHP. Apoi, testați operațiunile normale cu fișierele cu un fișier mic, necritic: încărcați-l, redenumiți-l, descărcați-l și ștergeți-l. Pagina de administrare nu ar trebui să mai raporteze că lipsește o memorie cache atunci când memoria cache locală este configurată corect.
O încercare reușită PONGdovedește doar că Redis răspunde clientului CLI local. Verificarea administratorului Nextcloud și operațiunile de rutină asupra fișierelor ajută la verificarea extensiei PHP, a permisiunilor serverului web, a setărilor de conexiune Redis și a configurației aplicației împreună. Nu considerați o încărcare mai rapidă a paginii în timpul unui test ca dovadă a unei îmbunătățiri măsurate a performanței; volumul de lucru, spațiul de stocare, baza de date și capacitatea lucrătorilor PHP afectează toate timpul de răspuns.
Depanarea problemelor comune
Pagina de administrare încă raportează lipsa memoriei cache
Verificați dacă există o cheie cache duplicată sau greșit ortografiată, confirmați că memcache.localindică spre APCu și reporniți serviciul Apache sau PHP-FPM corect. O instalare PHP doar prin CLI poate fi diferită de runtime-ul PHP utilizat de site-ul web.
Redis rulează, dar Nextcloud raportează erori de conexiune
Comparați `in` hostși port`in` config.phpcu `listener`-ul `in` /etc/redis/redis.conf. Confirmați accesul local cu ` redis-cli -h 127.0.0.1 -p 6379 pingși examinați jurnalele Redis și ale serverului web. Dacă utilizați un socket sau o parolă, verificați dacă calea sau acreditările sale se potrivesc pe ambele părți.
Operațiunile cu fișierele eșuează după modificare
Restaurați temporar fișierele copiate de rezervă config.phpdacă instanța devine inutilizabilă, apoi inspectați jurnalele PHP și ale serverului web. Verificați punctuația matricei, confirmați că serviciul Redis este activ și verificați dacă niciun firewall sau ACL Redis personalizat nu blochează procesul web. Evitați ștergerea datelor Redis ca prim pas de depanare; investigați conexiunea și configurația înainte de a elimina intrările din cache sau blocare.
Ce nu acoperă această configurație
Aceasta este o configurație cu un singur server, nu un design Redis cu disponibilitate ridicată. Nu configurează replicarea Redis, Sentinel, TLS, o gazdă cache la distanță, stocarea sesiunilor sau o implementare Nextcloud în cluster. Nodurile Nextcloud cu mai multe servere trebuie să partajeze aceeași memorie cache distribuită și backend de blocare; localhost pe fiecare nod ar crea instanțe Redis separate și ar elimina această cerință. Pentru o topologie la distanță sau în cluster, urmați secțiunea de configurare Nextcloud corespunzătoare și securizați comunicațiile Redis pentru mediul respectiv.
După ce configurația este stabilă, monitorizați utilizarea memoriei Redis și prezentarea generală a administrării Nextcloud. Alocați suficientă memorie pentru activitatea din cache și blocare, evitați politicile de evictare neravizuite care ar putea elimina datele de blocare și păstrați copii de rezervă normale ale bazei de date și fișierelor. Cache-ul Redis poate reduce cheltuielile generale legate de cache și blocare, dar este o parte a unei instalări Nextcloud sănătoase, mai degrabă decât un substitut pentru planificarea capacității.