У меня есть веб-приложение (django, обслуживаемое uwsgi), и я использую nginx для проксирования запросов к определенным контейнерам. Вот соответствующий фрагмент из моего default.conf.
upstream web.ubuntu.com {
server 172.18.0.9:8080;
}
server {
server_name web.ubuntu.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
location / {
include uwsgi_params;
uwsgi_pass uwsgi://web.ubuntu.com;
}
}
Теперь я хочу, чтобы статические файлы обслуживались nginx, а не рабочими uwsgi.
Итак, в основном я хочу добавить что-то вроде:
location /static/ {
autoindex on;
alias /staticfiles/;
}
в автоматически сгенерированный серверный блок для контейнера.
Я считаю, что это должно заставить nginx обслуживать все запросы к web.ubuntu.com/static/* из папки /staticfiles.
Но поскольку конфигурация (default.conf) генерируется автоматически, я не знаю, как динамически добавить указанное выше местоположение в блок сервера :(
Я думаю, что блок местоположения не может быть вне блока сервера, и на каждом сервере может быть только один блок сервера?
поэтому я не знаю, как добавить туда блок местоположения, если я не добавлю динамически в default.conf после того, как появится nginx, а затем перезагрузлю его, я думаю.
Я прошел через https://github.com/jwilder/nginx-proxy и вижу только пример фактического изменения настроек местоположения для каждого хоста и по умолчанию. Но ничего о добавлении новой локации вообще.
Я уже публиковал это в Q&A для jwilder/nginx-proxy и не получил ответа.
Пожалуйста, помогите мне, если есть способ достичь этого.