Мое django приложение работало должным образом в рабочей среде с отладкой, установленной на True, когда я выключил его, приложение больше не обслуживает медиафайлы (загруженные пользователями), но файлы stati c обслуживаются правильно.
вот мои настройки:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '../static/')
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),]
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads', 'media')
MEDIA_URL = '/uploads/media/'
DOCUMENTS_ROOT = os.path.join(BASE_DIR, 'uploads', 'media', 'documents')
вот мои базовые URL:
urlpatterns = [
path('i18n/', include('django.conf.urls.i18n')),
path('auth/', include("django.contrib.auth.urls")),
path('traveller/', include('travellers.urls')),
path('service/', include('drivers.urls')),
path('admin/', include("management.urls")),
path('events/', include('events.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
вот моя Nginx конфигурация сайта:
upstream app_server{
server unix:/home/envs/bus_env/run/bus.sock fail_timeout=10;
}
server {
listen 80;
# add here the ip address of your server
# or a domain pointing to that ip (like example.com or www.example.com)
server_name ***.***.***.***;
keepalive_timeout 20;
client_max_body_size 4G;
access_log /home/envs/bus_env/logs/nginx-access.log;
error_log /home/envs/bus_env/logs/nginx-error.log;
location /static/ {
alias /home/envs/bus_env/static/;
}
location /media/ {
# media files, uploaded by users
autoindex on;
alias /home/envs/bus_env/backend/uploads/media/;
}
location / {
try_files $uri @proxy_to_app;
}
location @proxy_to_app {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server;
}
}
вот журнал доступа nginx для запроса изображения профиля, например:
"GET /uploads/media/staff/profile_pictures/viber_image_V2JdnkG.jpg HTTP/1.1" 404 799
это моя иерархия папок для загрузок:
.
└── media
├── documents
│ ├── drivers
│ └── staff
│ ├── 10
│ ├── 11
│ ├── 12
│ ├── 14
│ ├── 15
│ ├── 16
│ ├── 17
│ ├── 18
│ ├── 19
│ ├── 20
│ ├── 21
│ ├── 4
│ ├── 5
│ ├── 8
│ ├── 9
│ ├── amine
│ ├── hello
│ ├── sdfsdg
│ └── wassim
├── drivers
│ └── profile_pictures
├── staff
│ └── profile_pictures
└── travellers
└── profile_pictures
я пробовал так много вещей, и видел столько потоков, как ручная настройка переменной media root, изменение псевдонима на root, удаление автоиндекса ... кажется, ничего не работает.