Servire file statici con Nginx: consigli per l'ottimizzazione

Scopri le migliori pratiche per configurare Nginx in modo da servire in modo efficiente risorse statiche come immagini, CSS e JavaScript, migliorando la velocità di caricamento delle pagine.

Nginx è rinomato per le sue prestazioni eccezionali nel servire contenuti statici. Tuttavia, una configurazione corretta è essenziale per massimizzare l'efficienza e ridurre i tempi di caricamento.

1. Abilitare la compressione Gzip

La compressione riduce drasticamente le dimensioni dei file inviati al browser. Aggiungi questo blocco al tuo file di configurazione:

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
gzip_min_length 1000;

2. Impostare le intestazioni di Cache-Control

Per evitare che il browser richieda continuamente gli stessi file, imposta una scadenza lunga per le risorse statiche:

location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
}

3. Utilizzare sendfile e tcp_nopush

Queste direttive ottimizzano il trasferimento dei file a livello di kernel:

sendfile on;
tcp_nopush on;
tcp_nodelay on;

Seguendo questi passaggi, ridurrai il carico sul server e migliorerai significativamente l'esperienza utente.