Holen statische Dateien fehlgeschlagen 404 nginx

Ich bin jetzt Deployment einer django-app mit nginx und gunicorn auf ubuntu 12.

Und ich konfigurieren des nginx virtual Hosts-Datei wie folgt:

server {
    listen 80;
    server_name mydomain.com;
    access_log  /var/log/nginx/gunicorn.log;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    location /static/ {
        root /var/www/django/ecerp/erp/static/;
    }

}

Kann ich verlangen das django gut, aber beim request einer statischen Datei, es Antwort mit dem 404-status.

Ich bin mir sicher, dass der root-Pfad der statischen Datei korrekt ist.

Kann jemand helfen?

  • wiki.nginx.org/Pitfalls#Root_inside_Location_Block. nginx.org/r/root
  • Ich würde auch sicherstellen, dass Ihr nginx Benutzer hat die Berechtigungen zum Zugriff auf das Verzeichnis. Viel Glück
  • nicht die Erlaubnis problem. Ich habe es geändert werden 777. Und nun die Rückkehr 404 aber nicht 403.
  • Meine eigene Konfiguration verwendet die alias Richtlinie statt root. Ich habe auch die statische-und die media-Pfade, BEVOR Sie mit dem bloßen location /. Vielleicht ist es routing zu location / match als erstes?
  • Wow!!! Ihre Lösung hilft! Ich fand, dass wenn ich Anfrage http://example.com/static/somepath es Karten zu /var/www/django/ecerp/erp/static/static/! Also, wenn ich entfernen Sie die nachfolgende static/ ich arbeiten! Ich danke Ihnen sehr!
  • nicht in der Reihenfolge, problem habe ich gelöst, eine redundante static/ sollte entfernt werden!
  • Die Bestellung war mein problem!!! Vielen Dank für die Hilfe!

InformationsquelleAutor Alfred Huang | 2014-10-07
Schreibe einen Kommentar