Задать вопрос
@Heavy10110

Пытаюсь настроить django+uWSGI+nginx. Не распознает static?

Пытаюсь задеплоить джангу на VPS.
Делаю по этому гайду
https://habrahabr.ru/post/226419/
Все установил, все работает, ngnix на 80 порту работает.
Дело в том, что у меня не обслуживается static и media.
мой_ip:80/media/file.png
Получаю 404. Хотя как я понял должен увидеть файл.
Файловая структура:
root@debian:~/uwsgi/venv/mysite# ls
db.sqlite3  media   mysite_nginx.conf  static	uwsgi_params
manage.py   mysite  mysite.sock        test.py


mysite_nginx.conf :
# mysite_nginx.conf

upstream django {
    # server unix:///root/uwsgi/venv/mysite/mysite.sock; # взаимодействи$
    server 127.0.0.1:8001; # взаимодействие с uwsgi через веб-порт
}

# конфигурация веб-сервера
server {
    # порт, который будет слушать веб-сервер в ожидании запросов от поль$
    listen      80;
    # доменное имя
    server_name     мой_ip; # замените на собственный домен или $
    charset     utf-8;

    # максимальный размер загружаемых на сервер данных
    client_max_body_size 75M;
# обслуживание медиа файлов и статики
    location /media  {
        alias /root/uwsgi/venv/mysite/media;  # расположение медиафайлов$
    }

    location /static {
        alias /root/uwsgi/venv/mysite/static;  # расположение статики (п$

    }

    # Остальные запросы перенаправляются в Django приложение
    location / {
        uwsgi_pass  django;
        include     /root/uwsgi/venv/mysite/uwsgi_params; # файл uwsgi_p$
    }
}

Добавил в setting.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media/")


Что не так, что статика не обрабатывается ?
  • Вопрос задан
  • 661 просмотр
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Во-первых, слэши в конце путей
location /static/ {
    alias /root/uwsgi/venv/mysite/static/;
}

Во-вторых, я сильно сомневаюсь, что nginx у вас работает под правами root'а, а соответственно доступа в /root у него нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы