web-dev-qa-db-fra.com

Django - Superviseur: sorti trop rapidement

J'essaie de déployer mon site Web dans Django + Supervisor + NGINX sur le serveur Ubuntu 16.04.

Voici mon .conf (superviseur):

[program:sitepro]
command = /home/user/sitepro/bin/gunicorn sitepro.wsgi:application --bind mywebsite.fr:8002
user = user
autostart = true
autorestart = true

Mon fichier de configuration NGINX:

server {
    listen      80;
    server_name .mywebsite.fr;
    charset     utf-8;
    root /home/user/sitepro/site/sitepro;
    access_log /home/user/sitepro/site/logs/nginx/access.log;
    error_log /home/user/sitepro/site/logs/nginx/error.log;

    location /static {
        alias /home/user/sitepro/site/static;
    }

    location / {
        proxy_set_header Host $http_Host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:8002;
    }
}

Lorsque j'essaie de lancer gunicorn à la racine de mon projet, tout se passe bien:

(sitepro) user@mybps:~/sitepro/site$ gunicorn sitepro.wsgi:application --bind mywebsite.fr:8002
[2017-11-01 16:09:37 +0000] [1920] [INFO] Starting gunicorn 19.7.1
[2017-11-01 16:09:37 +0000] [1920] [INFO] Listening at: http://79.137.39.12:8002 (1920)
[2017-11-01 16:09:37 +0000] [1920] [INFO] Using worker: sync
[2017-11-01 16:09:37 +0000] [1925] [INFO] Booting worker with pid: 1925

J'ai fait une relecture et une mise à jour de supervorctrl (travaillé). Et si je fais du site superviseur

sitepro                          FATAL     Exited too quickly (process log may have details)

Et si j'accède à mon site Web, j'ai la page par défaut "Bienvenue sur Nginx".

J'ai essayé de nombreux tutoriels pour déployer Django: je suis perdu et j'ai essayé beaucoup de choses. Quelqu'un pourrait-il me donner un tutoriel simple et rapide pour déployer Django that il a utilisé pour ses propres besoins s'il vous plaît?

Merci !

9
Zoloom

Le problème est que vous manquez le directory=... dans votre fichier de configuration

[program:sitepro]
command = /home/user/sitepro/bin/gunicorn sitepro.wsgi:application --bind mywebsite.fr:8002
directory = /home/user/sitepro/site
user = user
autostart = true
autorestart = true

Sinon, gunicorn ne saura pas où trouver sitepro.wsgi:application

9
Tarun Lalwani

Pour voir ce qui se passe, vous devez enregistrer la sortie du superviseur.

Pour ce faire, ouvrez le fichier .conf du superviseur et ajoutez les lignes suivantes:

stdout_logfile={Path}
stderr_logfile={Path}
autostart=true
autorestart=true
startsecs=10

Un {Chemin} possible pourrait être /home/{youruser}/sitepro.log

Redémarrez le superviseur

supervisorctl restart sitepro

Une fois redémarré, accédez au journal et dites-nous ce que vous voyez.

4
Daniel Julian