Flaskで作成され、の後ろにあるNginxのウェブサイトがあります。次のコマンドを使用して手動でgunicornを実行すると、エラーを含むすべての出力が端末に記録されることが予想されます。なぜgunicornは500の内部サーバーエラーをstderrに記録しないのですか?
83.161.xx.xx - - [29/May/2016:15:33:12 +0000] "GET /invites HTTP/1.1" 500 291 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.63 Safari/537.36"
が、私は、実行中のgunicornインスタンスから、この500のための出力を得るません:私は、ブラウザでの500応答を生成1つの特定のページを訪問したときにでも、私のnginx_access.log
の1行はこのことを言います。これにより、エラーをデバッグすることは事実上不可能になります。
だから、私は次のように定義されたgunicorn持っているsupervisordとgunicorn実行してみました:
[program:gunicorn]
command=/home/immoprod/thesite/venv/bin/gunicorn --worker-class eventlet -b 127.0.0.1:5000 app:app
directory=/home/immoprod/thesite
autostart=true
autorestart=true
stdout_logfile=/home/immoprod/logs/gunicorn_access.log
stderr_logfile=/home/immoprod/logs/gunicorn_error.log
stopsignal=QUIT
奇妙なことは、どのgunicornに、私は同じ設定とベータサーバーを持っているということですがエラーを正しく記録します。私が知っている限り、2つの設定の間には何も違いはありません(当然のことですが、私は何が分からないでしょう)。
誰かがなぜ内部エラー500のエラーがGunicornによって標準エラー出力に記録されないのか分かりませんか?すべてのヒントは大歓迎です!それが重要な場合は
:私はgunicornバージョンを使用しています18.0
:-) ..未来の人々は、アプリケーション固有のログを確認するためのリマインダとして機能しますか? –