Я борюсь с моей конфигурацией nginx.Используя docker-compose, я развернул свое приложение Django на vps.Статические файлы работают нормально, но я не могу правильно настроить медиа-файлы.Ниже приведены мои файлы conf:
setting.py:
STATIC_URL = '/static/'
STATIC_ROOT = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, "media")
MEDIA_URL = '/media/'
Файл nginx conf:
upstream web {
ip_hash;
server web:8000;
}
# portal
server {
location /static/ {
autoindex on;
alias /static/;
}
location /media/ {
autoindex on;
alias /home/www/book_store/media/;
}
location / {
proxy_pass http://web/;
}
listen 8000;
server_name localhost;
}
docker-compose.yml
version: '2.1'
services:
nginx:
#other commands
volumes:
- .:/code
- ./nginx:/etc/nginx/conf.d
- /static:/static
- /media:/media
depends_on:
- web
web:
#other commands
volumes:
- .:/code
- /static:/static
- /media:/media
сообщение об ошибке при попытке приложения получить доступ к мультимедийному файлу (сообщение из контейнера nginx):
ng01 |2018/11/26 15:52:37 [ошибка] 5 # 5: * 6 open () «/home/www/book_store/media/default.png» не удалось (2: нет такого файла или каталога), клиент: XX.XX.XXX.XXX, сервер: localhost, запрос: «GET /media/default.png HTTP / 1.1», хост: «XXX.XXX.XX.XXX:8000», реферер: «http://XXX.XXX.XX.XXXX:8000/users/user/profile/"