Gunicorn.service konnte nicht gestartet werden: Einheit Gunicorn.service nicht gefunden. Ubuntu 18.04

Gunicorn.service konnte nicht gestartet werden: Einheit Gunicorn.service nicht gefunden. Ubuntu 18.04

Ich folgeDasAnleitung zum Einrichten von Django mit Postgres, Nginx und Gunicorn unter Ubuntu 18.04.

Ich habe die folgende Datei .socket erstellt

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

[Unit]
Description=gunicorn socket

[Socket]
ListenStream=/run/gunicorn.sock

[Install]
WantedBy=sockets.target

Ich habe die folgende Datei .service erstellt

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

Ursprüngliche RECOMENDED_FORMATTING-s in derFührung

[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

Wie ich meine eigene Version formatiert habeIch hatte meine virtuelle Umgebung außerhalb des Projektordners auf dem Server

[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

Ich habe auch versucht, diese wie ursprünglich empfohlen zu belassen

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

Dann habe ich versucht, den folgenden Code auszuführen

sudo systemctl start gunicorn

Fehlermeldung 1

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

und ich habe es auch mit 2 versucht

sudo systemctl start gunicorn.socket

Fehlermeldung 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.

Um dieses Problem zu lösen, habe ich versucht

Antwort1

Ihr Dienst enthält den Abschnitt [Installieren]. Das bedeutet, dass Sie sudo systemctl enable gunicorn.servicebeim Systemstart den Befehl zum Starten des Dienstes ausführen müssen.

Sobald Sie den Befehl ausführen, wird im Verzeichnis ein symbolischer Link zu dieser Datei erstellt /etc/systemd/system/multi-user.target.wants/.

Beachten Sie, dass Sie auch die Socket-Datei mit dem Namen erstellen gunicorn.socketund aktivieren müssen. Sobald Sie sie aktiviert haben, können Sie den Socket aktivieren, indem Sie den Befehl ausführen sudo systemctl start gunicorn.socket. Sie müssen den Dienst nicht ausführen, da systemd die Abhängigkeit ermittelt.

Den Status des Dienstes können Sie mit prüfen systemctl status gunicorn.service.

Antwort2

in meinem Fall hat der Server die Datei nicht erstellt gunicorn.socket. Also musste ich die Datei selbst erstellen und aktivieren.

Gehen Sie zu: /etc/systemd/systemund überprüfen Sie alle verfügbaren Dateien und Verzeichnisse mit dem Befehl ls.

Wenn die Datei nicht vorhanden ist, versuchen Sie, die Datei mit Folgendem von Anfang an neu zu erstellen: sudo nano ~/etc/systemd/system/gunicorn.socket, oder sudo nano gunicorn.socket.

und aktivieren Sie es dann zuerst durch: sudo systemctl enable gunicorn.socket, nach der Aktivierung führen Sie Folgendes aus: sudo systemctl start gunicorn.socket.

Wenn alles einwandfrei funktioniert, wird der Status der Datei gunicorn.socketals aktiv angezeigt. Nach dem Ausführen des Befehls sudo systemctl status gunicorn.socketwird Folgendes angezeigt:

     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

verwandte Informationen