Как заставить nginx обслуживать статические файлы из нескольких каталогов для проекта django?
У меня есть проект django. В нем есть статические файлы в нескольких приложениях, которые я могу собрать вместе, запустив python3 manage.py collectstatic
. Все файлы будут перемещены в папку static
, которая находится в корневой папке моего проекта.
Дополнительно у меня есть 200GB фотографий, расположенных в другой папке /var/images/user-profile-images/subfolder/image.jpg
.
В обоих случаях url изображения выглядит следующим образом: /static/path-to-image
. Поэтому в первом случае у меня есть папка static, а во втором нет.
вот мой блок местоположения:
location ~ ^\/static\/(.*) {
try_files /project-root-folder/static/$1 /var/images/user-profile-images/$1;
}
он должен обслуживать урлы /static/style.css
и /static/subfolder/image.jpg
соответственно, но не работает в обоих случаях. Я перепроверил все много раз, искал в stackoverflow, но ответа нет. Похоже, что отладить это также невозможно, так как nginx не регистрирует случаи "not found". На самом деле, я вижу ошибку django 404, так что, возможно, она даже не совпадает.