Мне нужно обслуживать мое приложение через сервер приложений по адресу 8080
и статические файлы из каталога, не касаясь сервера приложений. Конфиг nginx у меня есть что-то вроде этого ...
# 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;
}
}
Теперь с этим конфигом все работает нормально. Обратите внимание, что root
директива закомментирована.
Если я активирую root
и деактивирую alias
- он перестает работать. Однако, когда я удаляю трейлинг /static/
из, root
он снова начинает работать.
Может кто-нибудь объяснить, что происходит. Также , пожалуйста , объясните ясно и пространно , каковы различия между root
и alias
, и их цель.