web-dev-qa-db-ja.com

Django-スーパーバイザー:すぐに終了しました

Ubuntuサーバー16.04のDjango + Supervisor + NGINXにWebサイトを展開しようとしています。

これが私の.conf(スーパーバイザー)です。

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

私の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;
    }
}

私のプロジェクトのルートでgunicornを起動しようとすると、すべてがうまくいきます:

(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

Supervisorctrlの再読み取りと更新を行いました(動作しました)。そして、supervisorctl status siteproを作成すると

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

Webサイトにアクセスすると、「Welcome to Nginx」のデフォルトページが表示されます。

Deploy Django:迷ってしまい、多くのことを試しました。簡単で迅速なデプロイのチュートリアルを教えてくれませんかDjango彼は彼のpropreニーズに使用してください?

ありがとう!

9
Zoloom

問題は、構成ファイルにdirectory=...がないことです。

[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

そうしないと、gunicornはsitepro.wsgi:applicationの場所を知ることができません

9
Tarun Lalwani

何が起こっているのかを確認するには、スーパーバイザーの出力を記録する必要があります。

そのためには、スーパーバイザーの.confファイルを開き、次の行を追加します。

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

考えられる{Path}は/home/{youruser}/sitepro.logです

スーパーバイザーを再起動

supervisorctl restart sitepro

再起動したら、ログに移動して表示内容をお知らせください。

4
Daniel Julian