Добрый вечер,
В настоящее время у меня возникла проблема с моим домашним проектом.
Я настроил проект django с gunicorn и nginx.
Кажется, Nginxобслуживать мою статику нормально, но когда дело доходит до медиафайлов, это не работает, и в моем журнале ошибок отображается следующее сообщение: failed (2: No such file or directory)
Я пытался использовать разных пользователей для nginx.conf, но это все ещето же самое.
Я что-то упустил, но не могу найти.
Я прикрепляю свой файл nginx (обновлено):
upstream app_server {
server unix:/home/project/saleor.sock fail_timeout=0;
}
server {
listen 80;
server_name my_server_ip;
access_log /home/project/logs/nginx-access.log;
error_log /home/project/logs/nginx-error.log;
location /media {
root /home/user/project/test/media/;
expires 1d;
}
location /static {
root /home/user/project/test/static/;
expires 1d;
autoindex on;
}
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;
}
}
ОБНОВЛЕНИЕ: Я удалил следующую часть:
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
root /home/user/project/test;
expires 30d;
}
и добавил:
location /media {
root /home/user/project/test/media/;
expires 1d;
autoindex on;
}
location /static {
root /home/user/project/test/static/;
expires 1d;
autoindex on;
}
Вот пример моих настроек.py:
ALLOWED_HOST = my_server_ip
PROJECT_ROOT = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))
MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media')
MEDIA_URL = '/media/'
ОБНОВЛЕНИЕ:
Вот пример моего журнала ошибок nginx:
[ошибка] 11475 # 11475: * 1 open () "/ home / user / project / test/media/media/sized/products/picture.JPG "не удалось (2: такой файл или каталог отсутствуют), клиент: some_client_ip, сервер: my_server_ip, запрос:" GET / media / sized / products / picture.JPG HTTP / 1.1 ", хост:" my_website_ip ", реферер:" http://my_website_ip/en/"
У вас есть идеи, откуда это может быть?(Я совершенно уверен, что это что-то глупое = /)