Супервизор не может запустить 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.