Не удалось запустить gunicorn.service: Модуль gunicorn.service не найден. Ubuntu 18.04

Не удалось запустить gunicorn.service: Модуль gunicorn.service не найден. Ubuntu 18.04

Я слежуэтотРуководство по настройке Django с Postgres, Nginx и Gunicorn в Ubuntu 18.04.

Я создал следующий файл .socket

sudo nano /etc/systemd/system/gunicorn.socket

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target

Я создал следующий файл .service

sudo nano /etc/systemd/system/gunicorn.service

Оригинальные RECOMMENDED_FORMATTING-ы вгид

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


[Service]
User=sammyRECOMENDED_FORMATTING
Group=www-data
WorkingDirectory=/home/sammyRECOMENDED_FORMATTING/myprojectdirRECOMENDED_FORMATTING
ExecStart=/home/sammyRECOMENDED_FORMATTING/myprojectdirRECOMENDED_FORMATTING/myprojectenvRECOMENDED_FORMATTING/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          myprojectRECOMENDED_FORMATTING.wsgi:application

[Install]
WantedBy=multi-user.target

Как я отформатировал свою версиюУ меня виртуальная среда находилась за пределами папки проекта на сервере

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

[Service]
User=SERVER_USER
Group=www-data
WorkingDirectory=/home/SERVER_USER/MAIN_PROJECT_FOLDER
ExecStart=/home/SERVER_USER/ven/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/home/SERVER_USER/MAIN_PROJECT_FOLDER/MAINAPPLICATION_FOLDER.sock \
          MAINAPPLICATION_FOLDER.wsgi:application

[Install]
WantedBy=multi-user.target

Я также пробовал оставить их такими, как было рекомендовано изначально.

--bind unix:/run/gunicorn.sock \

Затем я попытался выполнить следующий код

sudo systemctl start gunicorn

сообщение об ошибке 1

Failed to start gunicorn.service: Unit gunicorn.service not found.

и я также пробовал с 2

sudo systemctl start gunicorn.socket

Сообщение об ошибке 2

Failed to start gunicorn.socket: Unit gunicorn.socket is not loaded properly: Invalid argument.
See system logs and 'systemctl status gunicorn.socket' for details.

Чтобы решить эту проблему, я попробовал

решение1

В вашей службе есть раздел [Install], который означает, что вам необходимо выполнить команду sudo systemctl enable gunicorn.serviceдля запуска службы при запуске системы.

После запуска команды в каталоге будет создана символическая ссылка на этот файл /etc/systemd/system/multi-user.target.wants/.

Обратите внимание, что вам также нужно создать файл сокета с именем gunicorn.socketи включить его. После включения вы можете активировать сокет, выполнив команду sudo systemctl start gunicorn.socket. Вам не нужно запускать службу, так как systemd выяснит зависимость.

Вы можете проверить статус услуги с помощью systemctl status gunicorn.service.

решение2

в моем случае сервер не создал файл gunicorn.socket, поэтому мне пришлось создать файл самостоятельно и включить его.

перейдите по адресу: /etc/systemd/systemи проверьте все доступные файлы и каталоги с помощью команды ls.

если файла там нет, попробуйте заново создать файл с самого начала с помощью: sudo nano ~/etc/systemd/system/gunicorn.socket, или sudo nano gunicorn.socket.

и затем сначала включите его с помощью: sudo systemctl enable gunicorn.socket, после включения выполните: sudo systemctl start gunicorn.socket.

если все работает нормально, вы увидите статус файла gunicorn.socket«активен», после выполнения команды sudo systemctl status gunicorn.socketвы увидите:

     gunicorn.socket - gunicorn socket
     Loaded: loaded (/etc/systemd/system/gunicorn.socket; enabled; vendor prese>
     Active: active (listening) since Fri 2020-06-26 17:53:10 UTC; 14s ago
   Triggers: ● gunicorn.service
     Listen: /run/gunicorn.sock (Stream)
      Tasks: 0 (limit: 1137)
     Memory: 0B
     CGroup: /system.slice/gunicorn.socket

Связанный контент