Ștergeți avertismentul de blocare a fișierelor din Nextcloud cu Redis

Pentru a șterge avertismentul Nextcloud privind blocarea fișierelor tranzacționale, asigurați-vă mai întâi că blocarea este activată, apoi configurați un backend persistent compatibil cu Redis, cum ar fi Redis sau Valkey. Pe o instanță mică, Nextcloud poate utiliza backend-ul său de blocare a bazei de date în mod implicit; pentru un server de producție sau o sarcină de lucru partajată, blocarea bazată pe Redis este alegerea obișnuită, deoarece reduce traficul de blocare către baza de date. Nu atribuiți blocări de fișiere către Memcached: Nextcloud avertizează că valorile din cache pot dispărea în mod neașteptat.

Alegeți backend-ul de blocare care se potrivește serverului dvs.

Blocarea fișierelor tranzacționale protejează operațiunile cu fișierele de scrierile conflictuale și poate elibera blocările atunci când o încărcare sau o altă tranzacție este întreruptă. Aceasta ajută la prevenirea coruperii în timpul funcționării normale, inclusiv a lucrărilor care implică fișiere partajate și stocare externă. Nu împiedică două persoane să editeze același document simultan și nu oferă indicatori de prezență; aceasta controlează salvările simultane. Consultați documentația privind blocarea fișierelor tranzacționale Nextcloud 35 .

  • Backend pentru baze de date: Nextcloud folosește blocarea bazei de date în mod implicit. Evită adăugarea unui alt serviciu și poate fi adecvată pentru o instalare personală mică, dar blocarea bazei de date adaugă sarcină. Dacă ștergeți doar un avertisment pe un server puțin utilizat, confirmați mai întâi că blocarea nu a fost dezactivată explicit.
  • Redis cu phpredis: O soluție potrivită pentru implementări consacrate pe un singur server și în cluster. Necesită un server compatibil cu Redis și extensia PHP Redis, plus setări de conexiune corespunzătoare în Nextcloud.
  • KeyValueCache cu Redis sau Valkey: Disponibil începând cu Nextcloud 34.0.2. Folosește biblioteca inclusă în pachetul Nextcloud, deci nu necesită o extensie PHP Redis. Acest lucru este util atunci când extensia nu este disponibilă, deși Nextcloud notează că un server cheie-valoare la distanță poate adăuga costuri suplimentare de rețea.
  • Memcached: Poate servi cache-ului distribuit, dar nu este potrivit pentru blocarea fișierelor tranzacționale, deoarece valorile cache-ului pot fi eliminate. Nu îl puteți găsi în memcache.locking.

Pentru un server de acasă mic, blocarea bazei de date poate fi suficientă dacă nu există nicio avertizare de blocare și nicio presiune asupra bazei de date. Alegeți Redis sau Valkey pentru instanțe ocupate, servere de aplicații multiple sau când doriți ca blocările fișierelor să fie gestionate în afara bazei de date. Ghidul actual pentru cache-ul memoriei Nextcloud 35 recomandă APCu pentru cache-ul local și Redis pentru blocarea în implementările comune pe un singur server. Nodurile web din cluster trebuie să utilizeze toate același endpoint sau cluster Redis sau Valkey.

Verificați dacă blocarea a fost dezactivată

Găsiți fișierul de configurare Nextcloud activ, de obicei config/config.phpîn directorul de instalare Nextcloud. Faceți o copie de rezervă a acestuia înainte de a-l modifica. Căutați filelocking.enabledși memcache.locking. Referința de configurare setează blocarea la activată în mod implicit; dacă găsiți o valoare explicită falsă, schimbați-o la adevărat sau eliminați acea suprascriere.

'filelocking.enabled' => true,

Nu adăugați o a doua copie a unei chei existente. Matricele de configurare PHP ar trebui să conțină o valoare efectivă pentru fiecare setare. Dacă utilizați un container sau un panou de găzduire gestionată, faceți modificările prin mecanismul de configurare acceptat, astfel încât acestea să persiste după actualizări sau reimplementări. Referința de avertizare pentru administratorul Nextcloud 35 identifică avertismentul de blocare și face legătura cu cerințele backend.

Configurați blocarea Redis pe un singur server

Pe Debian sau Ubuntu, numele pachetelor arată de obicei astfel: redis-serverși php-redis; folosește pachetele distribuției tale și potrivește modulul PHP cu versiunea PHP utilizată de serverul web. Dacă folosești backend-ul Redis clasic, instalează și pornește serviciul Redis și confirmă că extensia Redis PHP este activată pentru SAPI web. Un modul PHP doar CLI nu dovedește că PHP-FPM sau Apache îl pot încărca.

Adăugați detaliile backend-ului de blocare și ale conexiunii la config.phpmatricea existentă. Acest exemplu presupune că Redis rulează pe aceeași mașină, ascultă pe portul localhost 6379 și este accesibil procesului PHP Nextcloud:

'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => 'localhost',
    'port' => 6379,
    'timeout' => 0.0,
],

Setați detaliile de autentificare dacă serverul Redis le necesită. Evitați expunerea Redis la internetul public; restricționați-l la gazdă sau la rețeaua privată și configurați regulile de autentificare și firewall. Pentru un socket Unix, utilizați calea socketului ca gazdă Redis și portul 0 și asigurați-vă că utilizatorul serverului web poate accesa acel socket. Nu copiați setările localhost într-o implementare multi-server decât dacă Redis este cu adevărat local și partajat în mod consecvent; toate nodurile aplicației Nextcloud trebuie să abordeze același backend.

Când extensia PHP Redis nu este disponibilă

Pe Nextcloud 34.0.2 sau o versiune ulterioară, KeyValueCache se poate conecta la Redis sau Valkey fără o extensie PHP instalată separat. Configurați backend-ul și depozitul cheie-valoare după cum urmează, înlocuind gazda și orice credențiale cu valorile mediului dvs.:

'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
    'server' => [
        'host' => 'localhost',
        'port' => 6379,
    ],
],

Nu configurați atât Redis, cât și KeyValueCache ca furnizori de blocări concurenți. Urmați documentația Nextcloud pentru acreditări, TLS, socket-uri, Sentinel sau topologie de cluster, în loc să adaptați un exemplu cu un singur server prin presupunere.

Reporniți și verificați remedierea

Reporniți serviciul compatibil cu Redis dacă ați modificat configurația acestuia, apoi reporniți serverul web sau procesul PHP-FPM dacă ați instalat sau activat o extensie PHP. Verificați starea serviciului folosind numele serviciului pentru distribuția dvs.; de exemplu, systemctl status redis-serverpe multe sisteme Debian sau Ubuntu. Confirmați că serviciul este activ și că procesul PHP se poate conecta. Implementările de containere ar trebui să utilizeze numele serviciului Redis în rețeaua de containere, nu localhost, cu excepția cazului în care ambele servicii partajează un spațiu de nume de rețea.

Conectați-vă la Nextcloud ca administrator și reîmprospătați prezentarea generală de administrare. Avertismentul privind blocarea fișierelor tranzacționale ar trebui să dispară atunci când backend-ul configurat este disponibil și setarea este încărcată. Încărcați, descărcați și sincronizați un fișier de test, apoi verificați jurnalele Nextcloud și PHP dacă apare o eroare de conexiune sau permisiune Redis. Un avertisment care persistă indică de obicei o greșeală de scriere, o cheie de configurare duplicată, o extensie PHP/SAPI greșită, o conexiune de rețea blocată, permisiuni socket incorecte sau un backend inaccesibil. Corectați cauza specifică în loc să dezactivați blocarea.

Pentru opțiunile specifice implementării, consultați referințele oficiale versate înainte de a modifica topologia: Blocarea fișierelor tranzacționale , Cache-ul memoriei și configurația Redis/Valkey și parametrii de configurare .

Lasă un comentariu

Rulează automat Nextcloud Cron cu un temporizator Systemd

Verificați modul cron al Nextcloud, reparați serviciul systemd și cronometrul și verificați dacă joburile de fundal rulează după pornire și la fiecare cinci minute.

Ștergeți avertismentul de blocare a fișierelor din Nextcloud cu Redis

Activează blocarea fiabilă a fișierelor Nextcloud, alege backend-ul Redis sau Valkey potrivit și verifică dacă avertismentul dispare fără a risca modificări simultane ale fișierelor.

Ce este necesar pentru a viza un rating de securitate Nextcloud de A+

Ce este necesar pentru a viza un rating de securitate Nextcloud de A+

Corectează rezultatele comune ale scanărilor Nextcloud cu actualizări actuale, HTTPS și HSTS, încredere precisă în reverse-proxy și verificări pe serverul public.

Activați criptarea pe server Nextcloud cu impact măsurat

Configurați Nextcloud SSE pentru stocarea care necesită acest lucru, protejați cheile de criptare și măsurați impactul asupra transferului și procesorului înainte de a cripta fișierele existente.

Adăugați căutarea full-text Elasticsearch în Nextcloud

Conectează căutarea de fișiere Nextcloud la Elasticsearch, indexează conținutul documentelor și alege o configurație care se potrivește nevoilor serverului și securității tale.

Setați o politică de expirare fiabilă pentru fișierele șterse din Nextcloud

Setați o politică de expirare fiabilă pentru fișierele șterse din Nextcloud

Configurați Nextcloud pentru a elimina fișierele șterse după o perioadă de retenție definită, pentru a programa în mod fiabil joburile în fundal și pentru a evita comenzile care golesc coșul de gunoi al fiecărui utilizator.

Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Ștergeți avertismentul privind indexurile lipsă ale bazei de date din Nextcloud

Rulați repararea OCC din Nextcloud în siguranță, previzualizați modificările bazei de date și verificați de ce avertismentul ar putea persista.

Creșteți limita de încărcare web a Nextcloud peste 2 GB

Creșteți limita de încărcare web a Nextcloud peste 2 GB

Permiteți încărcări mai mari în browserul Nextcloud prin alinierea setărilor PHP, Nginx sau Apache, stocarea temporară și timeout - și verificați ce limită blochează fișierul.

Ștergeți avertismentul de memorie PHP al Nextcloud pe serverul web

Setați limita de memorie PHP utilizată efectiv de Nextcloud, reporniți serviciul corect și confirmați setarea de 512 MB în Prezentare generală a administratorului.

Conectați un bucket compatibil cu S3 la spațiul de stocare extern Nextcloud

Montați un bucket de stocare a obiectelor compatibil în Nextcloud folosind backend-ul său S3, cu endpoint-ul, acreditările, domeniul de acces și pașii de verificare corecți.