2 votes

Nginx sur VirtualBox Ubuntu invité sert du contenu obsolète

Je ne sais pas si c'est un problème avec Ubuntu, VirtualBox ou nginx.

Je fais tourner nginx sur Ubuntu, qui est un invité VirtualBox sur Windows 7. Un dossier Windows 7 est monté en tant que dossier partagé en lecture seule et monté automatiquement dans VirtualBox. Ubuntu voit le dossier comme /media/sf_jsource

Maintenant, si je modifie un fichier dans ce dossier sur Windows 7, une commande shell (cat) sur Ubuntu voit le nouveau contenu. Cela semblerait donc impliquer que VirtualBox et Ubuntu récupèrent bien les nouvelles modifications.

Cependant, le serveur nginx tournant sur Ubuntu continue de diffuser le contenu obsolète. Cela suggérait que le problème venait de la mise en cache des fichiers par nginx. J'ai fait des recherches et j'ai vu quelques entrées (de 2010, 2011) pour désactiver le cache de nginx. Cependant, je n'ai pas activé de cache dans la configuration de nginx, et je ne vois pas de répertoire /var/cache/nginx ou /opt/cache/nginx à purger.

Maintenant, la chose amusante est que redémarrer nginx ne résout pas le problème. Je dois redémarrer l'invité Ubuntu pour que nginx voie le nouveau contenu, ce qui n'a pas de sens puisque cat dans Ubuntu voyait les modifications de toute façon avant le redémarrage.

À peu près tout (nginx, Ubuntu, VirualBox) est à la dernière version de début 2012.

0voto

Dayo Points 2701

Quelques faits :

  1. Si vous n'avez pas activé le caching dans nginx, alors nginx ne servira pas de contenu mis en cache.

  2. Si vous redémarrez nginx, tout contenu mis en cache est toujours supprimé de toute façon.

Conclusion : Le caching se produit à de nombreux niveaux dans le cycle de requête, en commençant par votre navigateur lui-même. Étant donné que les faits indiquent que le caching n'est pas effectué par Nginx, vous devez envisager d'autres emplacements de cache possibles en commençant par votre navigateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X