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

Почему nginx не отдает статику, хотя работает?

В джанго приложении сделал:
STATIC_URL = 'static/'
STATIC_ROOT = 'static'

MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / 'media'


на сервере (ubuntu 22.4 lts) сделал collectstatic, всё ок.

nginx тоже не ругается:
6632716b23939103752781.jpeg

вот конфиг:
server {
    listen 80;
    server_name xx.xxx.xx.xx;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/portfolio-server;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }

}


Не могу понять, почему нет статики
  • Вопрос задан
  • 219 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 3
@dodo512
С настройками по умолчанию рабочие процессы Nginx работают с правами пользователя www-data.
У пользователя www-data нет доступа в каталог /home/ubuntu/.

Можно в файле nginx.conf заменить user www-data; на user ubuntu;

Или добавить www-data в группу ubuntu
sudo usermod -aG ubuntu www-data
Ответ написан
Комментировать
@Everything_is_bad
Не могу понять, почему нет статики
ну так посмотри логи nginx, почему сразу сюда бежишь, а не в логи?
Ответ написан
Комментировать
karabanov
@karabanov
Системный администратор
location /static/ {
      autoindex off;
      alias /path/to/static/;
}

location /media/ {
      autoindex off;
      alias /path/to/media/;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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