2017-06-09 4 views
0

Mein Problems ist das gleiche wie beschrieben here und here, aber mit der Ausnahme, dass sendfile off; in Einstellung nginx.conf hilft nicht.Nginx und Gunicorn mit Virtualbox dienen alte Verison von Django statischen Dateien gepolsterten/geerntete neue Dateigröße, nicht sendfile abarbeiten nicht

Ich benutze Vagrant mit Virtualbox (Ubuntu 16.04) und Nginx, Gunicorn und Django. Ich verwende dieses Setup für die Entwicklung, so dass ich vermeiden muss, jedes Mal, wenn eine Datei geändert wird, collectstatic aufzurufen. Als solche Gunicorn Nginx leitet alle Anfragen (auch ‚/ static /‘) und Gunicorn dient die statischen Dateien mit diesem Ansatz:

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

Dies funktioniert, mit der Ausnahme, dass, wenn ich etwas in einer statischen Datei ändern , der Inhalt wird nicht aktualisiert, nur die Dateigröße. Ich habe versucht, sendfile off; in nginx.conf, und auch in meiner Gunicorn-Konfiguration. Dennoch bleibt das Problem bestehen. Kann ich irgendwie versuchen, die mögliche Ursache dieses Problems einzugrenzen?

Alle Django-Dateien befinden sich in einem Ordner, der mit dem Windows 10-Hostsystem geteilt wird, aber wenn ich vagrant ssh verwende und die Dateien auschecke, wurden sie ordnungsgemäß aktualisiert.

Bearbeiten: Das Problem besteht, wenn ich Gunicorn nur ohne Nginx laufen, so scheint es ein Gunicorn/Django-Problem zu sein.

Antwort

0

Ich habe es herausgefunden.

Ich musste Gunicorn mit der --no-sendfile Fahne auch laufen lassen. Ich habe versucht, es in meiner Ini-Datei vor (no_sendfile = True), die nicht funktionierte. Aber das Hinzufügen von --no-sendfile zu meinem Gunicorn run-Befehl im Supervisor hat funktioniert!

Verwandte Themen