Используя Nginx с Django, у меня есть следующая запись местоположения в конфигурации моего сервера:
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:1234;
}
Таким образом, все запросы корневых URL-адресов передаются Django.
Теперь я хотел бы предоставить несколько дополнительных файлов, например robots.txt
, favicon.ico
, а также неопределенное количество других файлов под корневым URL. Например /robots.txt
должен вернуть мой robots.txt
файл, который находится в /var/www/project/misc/
. Как мне это сделать в Nginx? Кажется, у меня нет нескольких мест для захвата корневого URL "/".
Знаю, могу так:
location /robots.txt {
alias /var/www/project/misc/robots.txt;
}
Однако мы говорим о множестве разных файлов, и добавление дополнительного места для всех из них кажется довольно неуклюжим. Было бы лучше, если бы существовал способ обслуживания всего каталога под корневым URL.
Просто поместите приложение в его собственное @ специальное место, а затем сначала попробуйте файловую систему.
location / {
root /var/www/project/misc;
try_files $uri @wsgiapp;
}
location @wsgiapp {
include uwsgi_params;
uwsgi_pass 127.0.0.1:1234;
}