У меня есть веб-приложение (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, и я вижу только пример, чтобы фактически изменить настройки местоположения для каждого хоста и по умолчанию. Но ничего о добавлении нового loкатион в целом.
Я уже опубликовал это в Q & A для jwilder / nginx-proxy и не получил ответа.
Пожалуйста, помогите мне, если есть способ достичь этого.