Я пытаюсь развернуть проект Django на сервере Ubuntu. я слежу за этим гид.
Но я столкнулся с проблемой, когда запускаю эту команду статус sudo systemctl пушкикорн
, я получаю эту ошибку:
✓ gunicorn.service — демон gunicorn
Загружено: загружено (/etc/systemd/system/gunicorn.service; включено; предустановка поставщика: включена)
Активно: сбой (результат: код выхода) со вторника 31 августа 2021 г. 20:53:12 UTC; 6 минут назад
TriggeredBy: gunicorn.socket
Процесс: 1918 ExecStart=/home/houssem/project/env/bin/gunicorn --access-logfile --workers 3 --bind unix:/run/gunicorn.sock config.wsgi:application (code=exited, >
Основной PID: 1918 (код=выход, статус=3)
31 августа, 20:53:12 ubuntu-20-lts gunicorn[1932]: файл «<frozen importlib._bootstrap>», строка 991, в _find_and_load
31 августа, 20:53:12 ubuntu-20-lts gunicorn[1932]: файл «<frozen importlib._bootstrap>», строка 973, в _find_and_load_unlocked
31 августа 20:53:12 ubuntu-20-lts gunicorn [1932]: ModuleNotFoundError: нет модуля с именем «django_extensions»
31 августа 20:53:12 ubuntu-20-lts gunicorn[1932]: [2021-08-31 20:53:12 +0000] [1932] [INFO] Выход рабочего (pid: 1932)
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [ПРЕДУПРЕЖДЕНИЕ] Рабочий с pid 1931 был прекращен из-за сигнала 15
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [ПРЕДУПРЕЖДЕНИЕ] Рабочий с pid 1932 был прекращен из-за сигнала 15
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [ИНФО] Завершение работы: Мастер
31 августа 20:53:12 ubuntu-20-lts gunicorn[1918]: [2021-08-31 20:53:12 +0000] [1918] [INFO] Причина: Worker не удалось загрузить.
31 августа 20:53:12 ubuntu-20-lts systemd[1]: gunicorn.service: основной процесс завершен, код = завершен, статус = 3/NOTIMPLEMENTED
31 августа, 20:53:12 ubuntu-20-lts systemd[1]: gunicorn.service: Ошибка с результатом «код выхода».
Когда я запускаю эту команду gunicorn config.wsgi:application --preload -b 0.0.0.0:8000
он отлично работает, и я могу получить доступ к сайту, используя IP-адрес.
Мой гуникорн.сервис
и /etc/systemd/система/gunicorn.socket
файлы выглядят так:
# /etc/systemd/system/gunicorn.service
[Ед. изм]
Описание=демон пушки
Требуется=gunicorn.socket
После=network.target
[Оказание услуг]
Пользователь=Сэмми
Группа=www-данные
WorkingDirectory=/home/sammy/myprojectdir
ExecStart=/home/sammy/myprojectdir/myprojectenv/bin/gunicorn \
--access-logfile-\
--рабочие 3 \
--bind unix:/run/gunicorn.sock \
мой проект.wsgi:приложение
[Установить]
WantedBy=многопользовательская.цель
[Ед. изм]
Описание=гнездо для пистолета
[Разъем]
ListenStream=/run/gunicorn.sock
[Установить]
WantedBy=сокеты.цель
Все упомянутые (в гайде) команды, относящиеся к gunicorn до этой статус sudo systemctl пушкикорн
работать как положено и распечатать тот же результат, что и в руководстве.
Я искал решения, но не могу понять, как решить эту проблему, я новичок в gunicorn.
Итак, пожалуйста, кто-нибудь может помочь мне исправить это?
Я могу предоставить более подробную информацию, если предоставленной информации недостаточно.
РЕДАКТИРОВАТЬ
Что касается пакетов, я уже установил пакеты в virtualenv из файла requirements.txt: pip install -r требования.txt
. Кроме того, я установил расширение django глобально, но все равно имею ту же ошибку.