Maison  >  Article  >  interface Web  >  Pourquoi mon cache Nginx ne s’efface-t-il pas malgré les modifications de fichiers ?

Pourquoi mon cache Nginx ne s’efface-t-il pas malgré les modifications de fichiers ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-15 22:19:02270parcourir

Why is My Nginx Cache Not Clearing Despite File Modifications?

Impossible d'effacer le cache Nginx malgré les modifications

Si vous rencontrez un problème où votre serveur frontal Nginx continue de servir des fichiers CSS obsolètes malgré les modifications de fichiers , tu n'es pas seul. Malgré le redémarrage de Nginx et la recherche en ligne, une solution vous a peut-être échappé.

La solution recommandée consistant à supprimer le répertoire de cache (par exemple, var/cache/nginx) peut ne pas être applicable dans tous les cas, car votre serveur peut manquer un tel répertoire.

Solution :

Le problème peut provenir du paramètre sendfile activé dans votre fichier nginx.conf. Ce paramètre, conçu pour optimiser le transfert de fichiers, peut mal fonctionner dans les environnements de machines virtuelles comme Virtualbox. La désactivation de sendfile forcera Nginx à utiliser une méthode alternative pour servir les fichiers statiques, résolvant ainsi le problème de mise en cache.

Ce comportement est attribué à un bug (https://www.virtualbox.org/ticket/12597) spécifique à Environnements Virtualbox, où Virtualbox rencontre des difficultés avec les opérations sendfile.

Pour désactiver sendfile, localisez le paramètre dans votre fichier nginx.conf (généralement dans un bloc d'emplacement) et modifiez sa valeur sur "off":

sendfile off;

Redémarrez Nginx après avoir effectué cette modification et vous devriez pouvoir servir les fichiers CSS mis à jour sans autres problèmes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn