Come aumentare la dimensione di caricamento dei file in Nginx?

Pubblicato 13 ottobre 2024

Problema: limitazioni alla dimensione di caricamento dei file in Nginx

Nginx, un server web, ha limiti predefiniti sulla dimensione dei file caricabili che possono impedire il trasferimento di file di grandi dimensioni. Questo limite può causare problemi durante il caricamento di documenti voluminosi, file multimediali o set di dati attraverso applicazioni web su server Nginx.

Localizzazione del file di configurazione di Nginx

Posizioni comuni del file di configurazione di Nginx

Il file di configurazione di Nginx si trova solitamente in una di queste posizioni:

  • /etc/nginx/nginx.conf
  • /usr/local/nginx/conf/nginx.conf

Questi sono i percorsi standard per il file di configurazione principale di Nginx. La posizione esatta può variare in base a come è stato installato Nginx e al sistema operativo in uso.

Suggerimento: Controlla il gestore dei pacchetti

Se hai installato Nginx utilizzando un gestore di pacchetti come apt o yum, puoi spesso trovare la posizione del file di configurazione controllando le informazioni del pacchetto. Ad esempio, su sistemi Ubuntu o Debian, puoi usare:

dpkg -L nginx | grep nginx.conf

Questo comando elenca tutti i file installati dal pacchetto Nginx e filtra il file nginx.conf.

Risoluzione dei problemi in caso di file di configurazione mancanti

Se non riesci a trovare il file di configurazione di Nginx nei luoghi previsti, prova questi passaggi:

  1. Verifica l'installazione di Nginx: Esegui nginx -v per verificare se Nginx è installato e vedere la sua versione.

  2. Usa strumenti da riga di comando per cercare i file di configurazione:

    • Cerca nginx.conf:
      sudo find / -name nginx.conf
    • Cerca qualsiasi file con "nginx" nel nome:
      sudo find / -name "*nginx*"

Se questi passaggi non ti aiutano a trovare il file di configurazione, Nginx potrebbe non essere installato sul tuo sistema o potrebbe trovarsi in una posizione non standard.

Modifica delle impostazioni di Nginx per aumentare la dimensione di caricamento

Modifica del file di configurazione di Nginx

Per aumentare il limite di dimensione dei file caricabili in Nginx, devi modificare il file di configurazione di Nginx:

  1. Apri il file di configurazione con un editor di testo:

    sudo nano /etc/nginx/nginx.conf

    Usa il percorso corretto se il tuo file di configurazione si trova in una posizione diversa.

  2. Trova la sezione in cui apportare le modifiche. Puoi inserire la direttiva client_max_body_size nel contesto http, server o location. Spesso si trova nel blocco server.

Regolazione del parametro client_max_body_size

Per modificare la dimensione massima consentita del corpo della richiesta del client:

  1. Aggiungi o modifica la direttiva client_max_body_size:

    client_max_body_size 100M;

    Questo imposta la dimensione massima di caricamento a 100 megabyte. Modifica questo valore secondo necessità.

  2. Se la direttiva esiste già, cambia il valore. In caso contrario, aggiungi la riga nella sezione appropriata del file di configurazione.

  3. Usa M per megabyte o G per gigabyte. Non usare MB o GB poiché non funzioneranno.

  4. Puoi impostare limiti diversi per diverse posizioni:

    location /upload {
       client_max_body_size 500M;
    }

    Questo imposta un limite di 500MB per la posizione /upload.

  5. Salva le modifiche ed esci dall'editor di testo.

Testa la tua configurazione e ricarica Nginx dopo aver apportato queste modifiche. Assicurati che le tue impostazioni PHP (se applicabili) corrispondano al nuovo limite di dimensione di caricamento di Nginx.

Suggerimento: Controlla le impostazioni di caricamento di PHP

Se stai utilizzando PHP con Nginx, ricorda di regolare anche le impostazioni di caricamento di PHP. Modifica il file php.ini e cambia questi valori:

upload_max_filesize = 100M
post_max_size = 100M

Sostituisci 100M con il limite desiderato. Riavvia PHP-FPM dopo aver apportato queste modifiche.

Test e applicazione della nuova configurazione

Verifica della sintassi della configurazione di Nginx

Dopo aver modificato il file di configurazione di Nginx, controlla eventuali errori di sintassi prima di applicare le modifiche. Usa questo comando per verificare la configurazione:

sudo nginx -t

Questo comando testa i file di configurazione di Nginx e segnala gli errori. Se il test passa, vedrai un messaggio che indica che il test di configurazione è riuscito e la sintassi è corretta.

Se ci sono errori, il comando mostrerà dettagli sul problema e la sua posizione nel file di configurazione. Correggi questi errori prima di continuare.

Suggerimento: Fai un backup della configurazione

Prima di apportare modifiche alla configurazione di Nginx, crea un backup del file di configurazione corrente. Questo ti permette di ripristinare rapidamente le modifiche se necessario:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup

Ricaricamento o riavvio di Nginx

Una volta confermato che la sintassi della configurazione è corretta, applica le nuove impostazioni. Ci sono due metodi principali:

  1. Ricarica Nginx: Questo metodo non interrompe le connessioni attive. Usa questo comando:

    sudo nginx -s reload

    Oppure, se stai usando systemd:

    sudo systemctl reload nginx
  2. Riavvia Nginx: Se un ricaricamento non applica tutte le modifiche, potrebbe essere necessario riavviare Nginx. Questo interromperà tutte le connessioni attive:

    sudo systemctl restart nginx

Dopo aver ricaricato o riavviato Nginx, il nuovo limite di dimensione dei file caricabili dovrebbe essere attivo. Testa la funzione di caricamento file per confermare che ora è possibile caricare file più grandi.

Monitora le prestazioni del tuo server dopo aver aumentato il limite di dimensione di caricamento, poiché la gestione di caricamenti di file più grandi potrebbe richiedere più risorse del server.