Servir des fichiers statiques avec Nginx : Conseils d'optimisation

Découvrez les meilleures pratiques pour configurer Nginx afin de servir efficacement vos ressources statiques comme les images, le CSS et le JavaScript, pour des temps de chargement plus rapides.

Le service de fichiers statiques est l'une des tâches les plus courantes pour Nginx. Bien que la configuration par défaut soit performante, quelques ajustements peuvent considérablement améliorer la vitesse de chargement de vos pages.

1. Activer la mise en cache du navigateur

Pour réduire la charge sur votre serveur et accélérer le chargement pour les visiteurs récurrents, définissez des en-têtes Expires ou Cache-Control :

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

2. Utiliser sendfile et tcp_nopush

Ces directives permettent à Nginx d'utiliser l'appel système sendfile pour transférer des fichiers directement dans le noyau, évitant ainsi la copie de données dans l'espace utilisateur.

sendfile on;
tcp_nopush on;

3. Activer la compression Gzip

La compression réduit la taille des fichiers texte (HTML, CSS, JS), ce qui accélère leur transfert sur le réseau.

gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml;