Почему мой супервизор экземпляра AWS EC2 не работает?

Я развертываю API Django, который я назвал "ScientistBirthYear", на AWS EC2, следуя этим инструкциям, включая использование кода gunicorn.conf, но изменяя его для учета имени моей виртуальной среды, имени проекта и X.wsgi:application из моего проекта. В 24:50 экземпляр ведущего показывает gunicorn запущенным, в то время как мой экземпляр неоднократно терпел неудачу с ошибкой guni:gunicorn FATAL Exited too quickly (process log may have details). Я нашел несколько решений в Интернете, но ни одно из них не помогло.

Вот несколько последних записей моего /var/log/supervisor/supervisord.log:

2024-07-16 22:56:07,174 INFO spawned: 'gunicorn' with pid 1861
2024-07-16 22:56:07,281 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:09,284 INFO spawned: 'gunicorn' with pid 1866
2024-07-16 22:56:09,391 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:12,396 INFO spawned: 'gunicorn' with pid 1871
2024-07-16 22:56:12,502 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:12,503 INFO gave up: gunicorn entered FATAL state, too many start retries too quickly
2024-07-16 22:56:25,588 CRIT Supervisor is running as root.  Privileges were not dropped because no user  is specified in the config file.  If you intend to run as root, you can set user=root in the config file to avoid this message.>
2024-07-16 22:56:25,589 INFO Included extra file "/etc/supervisor/conf.d/gunicorn.conf" during parsing
2024-07-16 22:56:25,589 INFO RPC interface 'supervisor' initialized
2024-07-16 22:56:25,589 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2024-07-16 22:56:25,589 INFO supervisord started with pid 561
2024-07-16 22:56:26,592 INFO spawned: 'gunicorn' with pid 1876
2024-07-16 22:56:26,697 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:27,701 INFO spawned: 'gunicorn' with pid 1880
2024-07-16 22:56:27,806 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:29,810 INFO spawned: 'gunicorn' with pid 1884
2024-07-16 22:56:29,916 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:32,921 INFO spawned: 'gunicorn' with pid 1889
2024-07-16 22:56:33,027 WARN exited: gunicorn (exit status 0; not expected)
2024-07-16 22:56:33,028 INFO gave up: gunicorn entered FATAL state, too many start retries too quickly

Мой /etc/supervisor/conf.d/gunicorn.conf:

[program:gunicorn]
directory=/home/ubuntu/ScientistBirthYear
command=/home/ubuntu/api-env/bin/gunicorn --workers 3 --bind unix:/home/ubuntu/ScientistBirthYear/app.sock py>
autostart=true
autorestart=true
stderr_logfile=/var/log/gunicorn/gunicorn.err.log
stdout_logfile=/var/log/gunicorn/gunicorn.out.log

[group:guni]
programs:gunicorn

Я проверил правильность путей command и ScientistBirthYear в приведенном выше файле. Добавление --daemon в конец строки не помогло. Добавление user=root не помогло.

Все зависимости моего проекта Django установлены:

Мой /ScientistBirthYear/backend/pythonbackend/pythonbackend/settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'api',
    'corsheaders',
]
(api-env) ubuntu@ip-[redacted]:~/ScientistBirthYear/backend/pythonbackend/pythonbackend$ pip list
Package             Version
------------------- -------
asgiref             3.8.1
Django              5.0.7
django-cors-headers 4.4.0
djangorestframework 3.15.2
gunicorn            22.0.0
packaging           24.1
pip                 24.0
sqlparse            0.5.1

Добавление startsecs=0 к /etc/supervisor/supervisord.conf не сработало. Добавление имени пользователя и пароля не сработало.

Что я здесь упускаю?

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