2016-11-17 4 views
2

Ich versuche, ein neues Django-Projekt auf einem Server von Grund auf neu zu erstellen (django + gunicorn + nginx) und ich habe alles richtig außer die Init-Skripte für Gunicorn.Gunicorn-Status ist aktiv (beendet), aber zeigt nicht in Monit

wenn ich den gunicorn Befehl manuell ausführen es funktioniert und ich kann meine Seite auf der IP-Adresse sehen, aber wenn ich versuche service gunicorn start zu tun gibt es mir diese Ausgabe und es funktioniert nicht ...

gunicorn-project.service 
    Loaded: loaded (/etc/init.d/gunicorn-project; bad; vendor preset: enabled) 
    Active: active (exited) since Thu 2016-11-17 04:23:56 UTC; 17min ago 
    Docs: man:systemd-sysv-generator(8) 
    Process: 1656 ExecStart=/etc/init.d/gunicorn-project start (code=exited, status=0/SUCCESS) 
    Tasks: 0 
    Memory: 0B 
     CPU: 0 

Nov 17 04:23:56 project gunicorn-project[1656]: from multiprocessing import cpu_count 
Nov 17 04:23:56 project gunicorn-project[1656]: /etc/gunicorn.d/gunicorn-project2.py:3: RuntimeWarning: Parent module '/ 
Nov 17 04:23:56 project gunicorn-project[1656]: from os import environ 
Nov 17 04:23:56 project gunicorn-project[1656]: /etc/gunicorn.d/gunicorn-project3.py:2: RuntimeWarning: Parent module ' 
Nov 17 04:23:56 project gunicorn-project[1656]: from multiprocessing import cpu_count 
Nov 17 04:23:56 project gunicorn-project[1656]: /etc/gunicorn.d/gunicorn-project3.py:3: RuntimeWarning: Parent module ' 
Nov 17 04:23:56 project gunicorn-project[1656]: from os import environ 
Nov 17 04:23:56 project gunicorn-project[1656]: * 
Nov 17 04:23:56 project systemd[1]: Started gunicorn-project.service. 
Nov 17 04:25:01 project systemd[1]: Started gunicorn-project.service. 

ich kann nicht herausfinden, warum dies geschieht ... dies die Dateireferenzen in der Ausgabe ist ...

"""gunicorn WSGI server configuration.""" 
from multiprocessing import cpu_count 
from os import environ 


def max_workers(): 
    return cpu_count() * 2 + 1 

max_requests = 1000 
worker_class = 'gevent' 
workers = max_workers() 
errorlog = '/home/gunicorn-project/log/gunicorn/error.log' 
accesslog = '/home/gunicorn-project/log/gunicorn/access.log' 

Antwort

1

ich hatte gerade die gleiche Fehlermeldung auf mich geworfen (wurden auch Sie einen digitalen Ozean folgenden Tutorial?) und verbrachte einige Stunden damit, es herauszufinden. Ich weiß nicht, ob du es noch brauchst, aber vielleicht kann ich jemand anderen davon verschwenden, so viel Zeit wie ich zu verschwenden.

ich es geschafft, es zu beheben (nach verschiedenen Versuchen) von:

  1. Stoppen gunicorn:

    sudo systemctl stop gunicorn

  2. Ändern Schreibberechtigungen in beiden Verzeichnissen enthalten gunicorn.service:

    sudo chmod u+x /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

    sudo chmod u+x /etc/systemd/system/gunicorn-project.service

  3. manuell zu löschen und den Wiederaufbau der gunicorn-project.service Symlink:

    unlink /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

    rm /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

    ln -s /etc/systemd/system/gunicorn-project.service /etc/systemd/system/multi-user.target.wants/gunicorn-project.service

  4. Nachladen gunicorn Daemon:

    sudo systemctl daemon-reload

  5. Neustarten gunicorn:

    sudo systemctl start gunicorn

    sudo systemctl enable gunicorn

Und der Status geändert zu active (running). Irgendwann habe ich Gunicorn installiert, ohne die richtigen Berechtigungen zu setzen. Nachdem ich diese Schritte mit den richtigen Berechtigungen erneut durchgeführt hatte, konnte Gunicorn wie vorgesehen ausführen.

OBS: meine Datei hieß gunicorn.service, die ich glaube, ist der Standard. Ich habe mich in gunicorn-project.service geändert, um der Terminologie von OP zu entsprechen.

Verwandte Themen