Сервер Ubuntu с Django, Gunicorn, Nginx не выдает статический

Файл /var/log/nginx/error.log содержит ошибки следующего типа:

[error] 714#714: *5 open() "/home/<user>/<projects>/static/css/custom.css" failed (13: Permission denied), client: ip, server: domain, request: "GET /static/css/custom.css HTTP/1.1", host: "domain", referrer: "http://domain/"

В файле /etc/nginx/sites-available/<project> указаны следующие настройки:

server {
    listen 80;
    server_name <domain>;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /collected_static/ {
        root /home/<user>/<project>;
    }

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

В файле /etc/systemd/system/gunicorn.service указаны следующие настройки:

[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target

[Service]
User=vsevolod
Group=www-data
WorkingDirectory=/home/<user>/<project>
ExecStart=/home/<user>/<project>/myvenv/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          config.wsgi:application

[Install]
WantedBy=multi-user.target

The following settings are specified in the settings.py file:

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    BASE_DIR / 'static',
)

STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')

Правильно ли я понимаю, что в конфигурационном файле Nginx после location нужно указать именно тот каталог, который создается после команды python3 manage.py collectstatic, чтобы Nginx отдавал именно его?

Я выполнил команду sudo -u www-data stat /home/<user>/<project>/collected_static и получил ошибку о том, что у пользователя недостаточно прав. Я выполнил команду sudo gpasswd -a www-data <user>, перезагрузил Nginx и сервер на всякий случай, но статика все равно не появилась, а в логах все те же ошибки.

Проекты, которые я размещаю, были разработаны 2 года назад, и тогда я также разместил их на виртуальном сервере, и все было в порядке, я установил все довольно быстро, но теперь я не могу понять, что к чему.

Я не очень хорошо разбираюсь в системном администрировании, все делаю по руководствам. Поэтому я очень прошу помощи.

Заранее спасибо за любой ответ

UPD: Попробовали установить разрешение 750 для всех каталогов по пути /home/<user>/<project>/collected_static Теперь в логах нет никаких ошибок, но статика по-прежнему не загружается

Обеспечьте правильные права доступа к файлам и каталогам

Поскольку Nginx работает как www-data, у него должен быть доступ на чтение и выполнение к статическим файлам.

Обновить права собственности

sudo chown -R <user>:www-data /home/<user>/<project>/collected_static``

Установите разрешения

sudo chmod -R 755 /home/<user>/<project>/collected_static

кроме того, проверьте права доступа к родительским каталогам

Для доступа к статическим файлам Nginx требуется разрешение execute (x) в каждом родительском каталоге.

После этого вам необходимо перезапустить службы

sudo systemctl restart nginx

sudo systemctl restart gunicorn

location /collected_static/ {
        root /home/<user>/<project>/collected_static/;
    }
Вернуться на верх