404 не найден Ошибка Nginx для медиафайлов

camnooten спросил: 13 июня 2018 в 09:55 в: nginx

Я не могу понять, что вызывает эту проблему, и я пытался много раз менять файл с поддержкой сайтов.

/ и т.д. / Nginx / сайты с поддержкой / {сайт}:

server {
listen 80 default_server;
server_name {site};location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
    root /root/{site};
}location /media/ {
    root /root/{site}/{site}/media;
}location / {
    include proxy_params;
    proxy_pass http://unix:/root/{site}/{site}.sock;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/{site}/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/{site}/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

/ корень / {сайт} /{site}/settings.py (настройки носителя):

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

1 ответ

miknik ответил: 13 июня 2018 в 03:49

Корень означает базовый каталог, прежде чем добавлять что-либо к пути. Таким образом:

location /media/ {
    root /root/{site}/{site}/media;
}

Будет пытаться обслуживать носители из / root / {site} / {site} / media / media / ... whatever.css

Дополнительное видео по вопросу: 404 не найден Ошибка Nginx для медиафайлов

Как разблокировать доступ к сайтам , РЕШЕНИЕ выдаёт ошибку "404 Not Found"

Ошибка 404 Not Found или как с ней бороться

Оптимизация несуществующей страницы с ошибкой 404