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

Dacă o încărcare prin browserul Nextcloud se oprește la 2 GB, creșteți limita la fiecare strat care gestionează solicitarea: PHP, serverul web sau proxy-ul invers și orice spațiu de stocare temporar utilizat. Pentru o țintă de 5 GB, o configurare tipică PHP-FPM și Nginx necesită upload_max_filesize = 5G, post_max_size = 6G, și client_max_body_size 5G, plus suficient spațiu pe disc și timp pentru transfer.

Nu există o limită universală de 2 GB pentru Nextcloud. Manualul de administrare actual precizează că dimensiunea maximă implicită de încărcare este de 512 MB, în timp ce o limită sub 2 GB reprezintă un plafon fix pentru sistemele pe 32 de biți. Un server care se oprește la exact 2 GB are mai multe șanse să atingă o limită configurată sau un intermediar. Pașii de mai jos folosesc 5 GB ca exemplu; înlocuiți fișierul cu cea mai mare dimensiune de care aveți nevoie.

Limita de 2 GB vine de la Nextcloud?

Adesea, limita vizibilă este setată de PHP sau de serverul web, mai degrabă decât de o setare Nextcloud. Limita maximă acceptată de Nextcloud depinde și de sistemul de operare, sistemul de fișiere, cota contului și spațiul temporar disponibil pe disc. Clientul său de sincronizare desktop este un caz separat: transferă fișiere în blocuri mai mici și nu este supus acelorași limite de încărcare pentru o singură solicitare descrise aici.

Mai întâi identificați calea cererii. Verificați dacă utilizatorii încarcă prin browser, WebDAV sau clientul desktop și dacă site-ul trece prin Nginx, Apache, un echilibrator de încărcare sau proxy-ul unui furnizor de găzduire. Dacă nu administrați serverul, trimiteți administratorului dimensiunea fișierului care a eșuat, metoda de încărcare, ora eșecului și orice cod de eroare; numai ei pot modifica limitele la nivel de server.

Ce setări PHP ar trebui să modifici?

Pentru PHP-FPM, editați configurația utilizată de serviciul PHP-FPM care deservește Nextcloud - nu doar configurația PHP din linia de comandă. Pe Debian sau Ubuntu, o cale comună este /etc/php/8.2/fpm/php.ini; înlocuiți 8.2cu versiunea PHP instalată. Distribuția sau containerul dvs. poate utiliza o cale diferită. Manualul PHP notează că post_max_sizetrebuie să fie mai mare decât upload_max_filesize, așadar lăsați loc pentru supraîncărcarea cererilor.

Un fișier de configurare PHP-FPM deschis într-un editor de cod, cu calea /etc/php/8.2/fpm/php.ini vizibilă.
Exemplu de cale de configurare PHP-FPM. Folosește versiunea PHP și calea fișierului activă în propriul serviciu Nextcloud.

Setați valorile corespunzătoare serverului dvs. Pentru exemplul de 5 GB:

upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600
Setările PHP afișează upload_max_filesize setat la 5G, post_max_size setat la 6G și timeout-urile de intrare și execuție setate la 3600 de secunde.
Exemplu de valori PHP-FPM pentru o țintă de încărcare de 5 GB; post_max_size este setat la o valoare mai mare decât upload_max_filesize.

Valorile de timeout sunt exemple, nu cerințe universale. Conexiunile lente, serverele aglomerate și încărcările care trebuie asamblate la final pot necesita mai mult timp. Setările de memorie PHP și limitele de resurse per worker contează în continuare: nu setați automat limita de memorie a fiecărui worker PHP-FPM la câțiva gigaocteți. Ghidul PHP de la Nextcloud solicită cel puțin 512 MB de memorie per proces; monitorizați gazda și pool-ul său PHP-FPM înainte de a crește limitele de resurse.

Salvați fișierul și reporniți serviciul PHP-FPM relevant astfel încât să citească noile setări. De exemplu, pe un sistem care folosește PHP 8.2, serviciul poate fi php8.2-fpm:

sudo systemctl restart php8.2-fpm

Numele serviciilor variază. În containere, actualizați configurația sau imaginea montată și recreați containerul PHP conform procesului implementării respective.

Cum crești limita serverului web?

Pentru Nginx, plasați directiva body-size în serverblocul activ pentru Nextcloud sau într-un locationbloc aplicabil mai specific:

client_max_body_size 5G;
O configurație de server Nginx într-un editor cu directiva client_max_body_size 5G; vizibilă în interiorul unui bloc de server.
Plasați limita dimensiunii corpului Nginx în blocul serverului activ care gestionează cererile Nextcloud.

Apoi validați configurația și reîncărcați Nginx:

sudo nginx -t
sudo systemctl reload nginx

Dacă Nginx raportează o eroare de sintaxă, corectați-o înainte de reîncărcare. Dacă un alt proxy, controler de intrare sau gateway de găzduire se află în față, este posibil să își impună propria limită a corpului cererii; creșteți și această limită. O limită pe un proxy din amonte poate respinge încărcarea chiar și atunci când gazda Nextcloud este configurată corect.

Pentru Apache, verificați LimitRequestBodyconfigurația aplicabilă a gazdei virtuale sau a directorului. Documentația actuală Nextcloud menționează că serverul HTTP Apache 2.4.54 și versiunile ulterioare au implicit această directivă la 1 GiB; aceasta poate bloca încărcarea unei singure cereri peste această dimensiune. Setați o limită intenționată de octeți adecvată pentru gazdă sau utilizați-o 0numai dacă nu doriți în mod deliberat nicio limită a dimensiunii corpului Apache. De asemenea, Apache poate necesita timeout-uri mai lungi pentru cereri, mai ales dacă mod_reqtimeouteste activat.

Stocarea sau expirarea pot opri încă încărcarea?

Da. Directorul temporar de încărcare din PHP, directorul temporar configurat din Nextcloud și cel din Nginx client_body_temp_pathtrebuie să aibă suficient spațiu liber și să poată fi scris. Lăsați loc pentru încărcări simultane și, în unele configurații de stocare, pentru asamblarea fragmentelor încărcate. Verificați sistemul de fișiere relevant cu df -hși confirmați că un cont de serviciu poate scrie în directorul temporar configurat. Nu direcționați o setare temporară către un volum plin sau doar pentru citire.

Verificați și cota Nextcloud a utilizatorului și spațiul de stocare liber al serverului. Creșterea limitei dimensiunii unei cereri nu crește cota utilizatorului și nu creează capacitate pe disc. Măriți o cotă numai atunci când se presupune că respectivul cont are spațiu pentru fișier. Dacă eroarea apare aproape de sfârșitul unei încărcări sau raportează o eroare de timeout sau gateway, verificați jurnalele PHP, serverului web, proxy și Nextcloud înainte de a crește limite suplimentare. Manualul Nextcloud identifică în mod specific timeout-urile PHP și Nginx-urile fastcgi_read_timeoutca fiind posibile cauze, inclusiv în timpul cererilor MOVE finale.

O singură avertizare: este posibil ca upload_max_filesizeși în PHP post_max_sizesă nu guverneze în același mod un PUT cu un singur fișier WebDAV sau cererile de încărcare în blocuri ale Nextcloud; pentru aceste căi, timeout-urile PHP și ale serverului web pot fi factorul limitator. Diagnosticați metoda de încărcare înainte de a modifica valorile care nu i se aplică.

Cum poți confirma remedierea?

Începeți cu un fișier de test situat convenabil peste vechea limită, apoi testați un fișier apropiat de noua țintă. Încărcați prin același browser sau client care a eșuat inițial. Confirmați că transferul s-a finalizat, fișierul apare cu dimensiunea așteptată și poate fi descărcat sau deschis. Un indicator verde de încărcare finalizată în vizualizarea Fișiere este o primă verificare utilă, dar comparați și dimensiunea fișierului stocat.

Vizualizarea Nextcloud Files afișează fișierul archive-3gb.zip cu o dimensiune afișată de 3 GB și o bifă verde de finalizare.
După modificare, confirmați că un fișier de test mai mare decât limita anterioară apare la dimensiunea așteptată și este afișat ca complet.

Dacă testul eșuează în continuare, utilizați eroarea pentru a găsi următorul strat limitator: un mesaj HTTP 413 indică o limită a corpului cererii, un mesaj 504 sau o eroare aproape de finalizare sugerează o expirare, iar un mesaj de cotă sau spațiu pe disc indică capacitatea de stocare. Examinați jurnalele pentru aceeași marcă temporală, apoi ajustați doar setarea responsabilă. Mențineți limita aproape de cea mai mare încărcare așteptată și păstrați suficient spațiu temporar pentru activități concurente.

Documentație oficială

Lasă un comentariu

Ș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.

Mutați datele Nextcloud pe o unitate externă fără a afecta spațiul de stocare

Mutați datele Nextcloud pe o unitate externă fără a afecta spațiul de stocare

Mută ​​în siguranță un director de date Linux Nextcloud pe o unitate externă folosind o montare UUID persistentă, modul de întreținere, o copie verificată și linkul simbolic al căii originale.

Eroare în baza de date Nextcloud după o actualizare: Ce trebuie verificat mai întâi

Restaurați accesul la Nextcloud după o actualizare prin diagnosticarea erorilor SQL, verificarea conectivității bazei de date și finalizarea în siguranță a migrărilor întrerupte.

Resetarea unei parole de administrator Nextcloud pierdute cu OCC

Folosește comanda OCC din Nextcloud pentru a reseta o parolă de administrator din shell-ul serverului, cu îndrumări pentru nume de utilizator, permisiuni și furnizori de autentificare externi.

Adăugați antetul HSTS la endpoint-ul HTTPS care deservește Nextcloud

Ștergeți avertismentul HSTS al Nextcloud setând antetul la Apache, NGINX sau proxy-ul TLS, apoi verificați răspunsul public HTTPS în siguranță.

Depanarea instalărilor aplicației Nextcloud care raportează lipsa internetului

Depanarea instalărilor aplicației Nextcloud care raportează lipsa internetului

Urmăriți erorile de instalare din App Store până la problemele DNS, HTTPS, proxy, TLS sau de configurare chiar de pe serverul Nextcloud.

Controlează vârfurile de CPU din previzualizarea Nextcloud cu o coadă programată

Mută ​​miniaturile într-un program controlat în fundal, decupează dimensiunile de previzualizare neutilizate și verifică coada fără a suprasolicita serverul Nextcloud.