У меня есть сайт, построенный с Flask и работающий на gunicorn позади Nginx. При запуске gunicorn вручную с помощью следующей командыПочему не ругательство log 500 внутренних ошибок сервера для stderr?
gunicorn --worker-class eventlet -b 127.0.0.1:5000 app:app
Я ожидал бы весь вывод, включая сообщения об ошибках, чтобы быть авторизованы на терминал. Но когда я посещаю одну конкретную страницу, которая производит 500 отклик в браузере, одна строка в моей nginx_access.log
говорит, что это:
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"
, но я не получаю никакого вывода для этого 500 из запущенного gunicorn экземпляра. Это делает практически невозможным отладку ошибки.
Так что я попытался запустить 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 неправильно регистрирует ошибки. Насколько я знаю, между этими двумя установками нет ничего другого (должно быть, конечно, но я не знаю, что).
Кто-нибудь знает, почему ошибка, вызванная ошибкой внутреннего сервера 500, не регистрируется в stderr от Gunicorn? Все советы приветствуются!
Если это важно: я использую gunicorn версию 18,0
Что в error.log Nginx в? –