2012-03-26 5 views
2

Ich weiß nicht, ob das ein Problem mit Ubuntu, VirtualBox oder Nginx ist.Nginx auf VirtualBox Ubuntu Gast dient veraltete Inhalte

Ich benutze Nginx auf Ubuntu, das ist ein VirtualBox-Gast auf Windows 7. Ein Windows 7-Ordner ist als automatisch geladener, schreibgeschützter freigegebener Ordner in VirtualBox gemountet. Ubuntu sieht den Ordner als/media/sf_jsource

Wenn ich jetzt eine Datei in diesem Ordner auf Windows 7 bearbeiten, sieht ein Shell-Befehl (cat) auf Ubuntu den neuen Inhalt. Das scheint zu implizieren, dass VirtualBox und Ubuntu die neuen Änderungen gut aufnehmen.

Der Nginx-Server, der auf Ubuntu läuft, hält jedoch den veralteten Inhalt aufrecht. Das deutet darauf hin, dass das Problem mit den Nginx-Caching-Dateien auftrat. Ich habe gegoogelt und ein paar Einträge (ab 2010, 2011) gesehen, um den Nginx-Cache zu deaktivieren. Allerdings habe ich keinen Cache in der nginx-Konfiguration aktiviert, und ich sehe kein Verzeichnis/var/cache/nginx oder/opt/cache/nginx zum Löschen.

Jetzt ist die lustige Sache, dass neustart nginx das Problem nicht behebt. Ich muss den Ubuntu-Gast für nginx neu starten, um den neuen Inhalt zu sehen, was nicht sinnvoll ist, da cat in Ubuntu die Änderungen sowieso vor dem Neustart sah.

ziemlich alles (nginx, Ubuntu, VirualBox) ist die neueste Version ab Anfang 2012

+0

Mega großen Dank! –

+0

Ich lief in diesem Problem Vagrant auf OSX ausgeführt. Wie von @BenitoCiaro erwähnt, wurde 'sendfile' in'/etc/nginx/nginx.conf' deaktiviert, um das Problem zu beheben. –

Antwort

0

einige Fakten:

  1. Wenn Sie nicht-Caching in nginx aktiviert ist, dann nginx Cache-Inhalt wird nicht bereitgestellt.

  2. Wenn Sie nginx neu starten, wird jeder zwischengespeicherte Inhalt in jedem Fall verworfen.

Fazit: Caching geschieht auf vielen Ebenen im Zyklus Anfrage von Ihrem Browser gestartet wird selbst. Da die Fakten darauf hinweisen, dass das Caching nicht von Nginx stammt, müssen Sie in anderen möglichen Cache-Speicherorten suchen, beginnend mit Ihrem Browser.

+0

Es ist ein Nginx-Problem + Berechtigungen. Ich habe das ähnliche Problem, ich benutze jetzt Apache2 ;-(Keine Ahnung, warum übrigens. –