Супервизор не может запустить Gunicorn: ENOENT, проблемы со статическими файлами

Пожалуйста, помогите мне. Возникли проблемы с развертыванием проекта django (версия 4.2.1) с использованием gunicorn, nginx, supervisor.

Структура каталогов проекта такова: /root/workout, /myworkout.

/root/workout
    /config
        gunicorn.conf.py
        workout.conf
    /static
        ...
    /media
        ...
    /venv
        ...
    /myworkout
        wsgi.py
        ...
    ...

Файлы конфигурации для gunicorn и supervisor: gunicorn.conf.py, workout.conf

/root/workout/config/gunicorn.conf.py:

bind = '172.18.0.1:8000'
workers = 2
user = 'root'
timeout = 120

/etc/supervisor/conf.d/workout.conf:

[program:workout]
command=/root/workout/venv/bin/gunicorn myworkout.wsgi:application -c 
/root/workout/config/gunicorn.conf.py
directory=/root/workout
user=root
autorestart=true
redirect_stderr=true
stdout_logfile = /root/workout/logs/debug.log
startsecs=0

Supervisor выдает ошибку:

- supervisor: could not exec /root/workout/venv/bin/gunicorn: ENOENT
- supervisor: child process was not spawned

Однако, команда gunicorn myworkout.wsgi -b 172.18.0.1:8000 позволяет загрузить сайт, но статические файлы не загружаются: errors

- Failed to load resource: the server responded with a status of 404 ()
- Refused to apply style from 
  'https://myworkout.whitebeef.ru/static/workout/css/styles.css' because 
  its MIME type ('text/html') is not a supported stylesheet MIME type, 
  and strict MIME checking is enabled.

В свою очередь, файл конфигурации для nginx /etc/nginx/sites-available/default: default. Панель администрирования не закрывается...

/etc/nginx/sites-available/default:

server {
    listen 80;
    server_name myworkout.whitebeef.ru;
    access_log  /var/log/nginx/example.log;

    include  /etc/nginx/mime.types;

    location /admin/ {
        allow 192.168.71.20;
        deny all;

        proxy_pass http://172.18.0.1:8000; 
            proxy_set_header Host $server_name;
            proxy_set_header X-Real-IP $remote_addr;
        }    

    location /static/ {
        alias /home/root/workout/static/;
        expires 30d;
    }

    location /media/ {
    include  /etc/nginx/mime.types;
        alias /home/root/workout/media/;
        expires 30d;
    }


    location / {
        proxy_pass http://172.18.0.1:8000; 
        proxy_set_header Host $server_name;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Я пыталась решить проблему с разных сторон, проверила все пути, написала строку include /etc/nginx/mime.types; в файле конфигурации nginx.

Вернуться на верх