2017-06-09 4 views
0

Mon problème est le même que celui décrit here et here, mais à l'exception que la mise en sendfile off; dans nginx.conf n'aide pas. Je cours Vagrant avec VirtualBox (Ubuntu 16.04) et Nginx, Gunicorn, et Django. J'utilise cette configuration pour le développement, donc je veux éviter d'avoir à appeler collectstatic chaque fois qu'un fichier est modifié. En tant que tel, les routes Nginx toutes les demandes de gunicorn (même «/statique/»), et gunicorn sert les fichiers statiques à l'aide de cette approche:Nginx et gunicorn avec VirtualBox sert ancienne verison de fichiers statiques Django capitonné/recadrée à la nouvelle taille du fichier, SENDFILE off ne fonctionne pas

if settings.DEBUG: 
    from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
    urlpatterns += staticfiles_urlpatterns() 

Cela fonctionne, à l'exception que si je change quelque chose dans un fichier statique , le contenu n'est pas mis à jour, seulement la taille du fichier. J'ai essayé de définir sendfile off; dans nginx.conf, et aussi dans ma configuration Gunicorn. Pourtant, le problème reste. Y a-t-il un moyen que je pourrais essayer d'affiner la cause possible de ce problème?

Tous les fichiers Django se trouvent dans un dossier partagé avec le système hôte Windows 10, mais si j'utilise vagrant ssh et que vous extrayez les fichiers, ils sont correctement mis à jour.

Editer: Le problème persiste si je lance Gunicorn uniquement sans Nginx, donc il semble que ce soit un problème Gunicorn/Django.

Répondre

0

Compris.

J'avais également besoin de lancer Gunicorn avec le drapeau --no-sendfile. J'ai essayé de le placer dans mon ini-dossier avant (no_sendfile = True), qui n'a pas fonctionné. Toutefois, l'ajout de --no-sendfile à ma commande d'exécution Gunicorn en superviseur a fonctionné!