Ich muss meine App über meinen App-Server unter 8080
und meine statischen Dateien aus einem Verzeichnis bereitstellen, ohne den App-Server zu berühren. Die Nginx-Konfiguration, die ich habe, ist ungefähr so ...
# app server on port 8080
# nginx listens on port 8123
server {
listen 8123;
access_log off;
location /static/ {
# root /var/www/app/static/;
alias /var/www/app/static/;
autoindex off;
}
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Mit dieser Konfiguration funktioniert jetzt alles einwandfrei. Beachten Sie, dass die root
Richtlinie auskommentiert ist.
Wenn ich das aktiviere root
und deaktiviere, alias
funktioniert es nicht mehr. Wenn ich jedoch das Trailing /static/
von dem entferne, root
funktioniert es wieder.
Kann jemand erklären, was los ist. Bitte erläutern Sie auch klar und ausführlich, was die Unterschiede zwischen root
und alias
und deren Zweck sind.