
Ich habe eine einfache Website eingerichtet und bin etwas verwirrt, wie ich mit der Bereitstellung statischer Dateien umgehen soll. Mir ist aufgefallen, dass ich zum Bereitstellen statischer Dateien nur den Proxy für Gunicorn in der Nginx-Konfiguration einrichten muss.
location / {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:8000;
}
nur damit und wenn ich meine App über Gunicorn ausführe, gunicorn myapp:app
kann ich statische Dateien aus und nur aus dem statischen Ordnerverzeichnis bereitstellen. Ich vermute, das funktioniert, weil irgendetwas von Flask sagt, dass alle Dateien in diesem Verzeichnis bereitgestellt werden sollen? (Der Entwicklungsserver läuft auch nicht, app.run() ist auskommentiert)
Meine Frage ist also, wie ich nginx davon abhalte, diese Dateien automatisch bereitzustellen. Ich möchte sie mit meinem eigenen Standortblock für jeden Dateityp (Videos, Bilder, CSS/HTML/JS usw.) bereitstellen. So werden sie mit den richtigen Einstellungen bereitgestellt.
Zur Klarstellung: website.com/static/css/test.css
und website/css/test.css
beide stellen dieselbe Datei bereit. Die erste wird automatisch bereitgestellt und die zweite ist die, die ich mit einem Standortblock bereitstelle.
location /css/ {
#other setting
root /home/app/static/;
}
Ich möchte website.com/static/css/test.css
nichts bereitstellen. Ich möchte nur, dass es aus dem von mir definierten Standortblock bereitgestellt wird.