Maison > Article > interface Web > Pourquoi mon cache Nginx ne s’efface-t-il pas malgré les modifications de fichiers ?
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!