J'ai besoin de servir mon application par le biais de mon serveur d'application à l' 8080
, et mes fichiers statiques à partir d'un répertoire sans toucher au serveur d'application. La config nginx j'ai, c'est quelque chose comme cela...
# 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;
}
}
Maintenant, avec cette config, tout fonctionne bien. Notez que l' root
directive est commenté.
Si je activer root
et de désactiver l' alias
-- il s'arrête de fonctionner. Cependant, quand j'ai retirer la bordure /static/
de la root
il commence à travailler à nouveau.
Quelqu'un peut m'expliquer ce qu'il se passe. Veuillez également expliquer clairement et avec beaucoup de détails ce que sont la différence entre root
et alias
, et de leurs fins.