Процесс Flask — WSGI продолжает сбоить

#python #flask #mod-wsgi

#python #flask #мод-wsgi

Вопрос:

Я получаю странные ошибки при попытке развернуть приложение Flask (версия 0.8). Я использую mod_wsgi от apache, как предложено в документах (почти до буквы). Что странно, так это то, что при некоторых запросах (простой доступ / через браузер) приложение загружается нормально, но очень часто я получаю ошибки загрузки ресурсов (не удается получить некоторый css или изображение), и в журнале ошибок отображается что-то вроде Premature end of script headers: myapp.wsgi . Иногда apache вылетает из-за внутренней ошибки сервера. Я пытаюсь решить проблему, но не могу понять, в чем причина. Мой файл wsgi выглядит просто:

 from myapp import app as application
 

Есть какие-либо подсказки, с чего начать поиск?

Комментарии:

1. Вы забыли удалить безусловный app.run() вызов?

2. Вы убедились, что не страдаете ни от одной из проблем, описанных в разделе «Устранение неполадок» документации? flask.pocoo.org/docs/deploying/mod_wsgi/#troubleshooting — если бы я мог догадаться, я бы сказал, что у вас, вероятно, возникли проблемы с print вызовами символическими ссылками, учитывая комбинацию проблем, которые вы описываете. (Обратите внимание, что Apache, скорее всего, не сбой, когда он возвращает 500 — он просто обрабатывает ошибку 500, сгенерированную mod_wsgi [которая, в свою очередь, генерируется, скорее всего, вашим приложением]).

Ответ №1:

Если вы получаете преждевременное завершение заголовков скрипта, вы используете режим демона, и процесс демона завершается сбоем из-за ошибки seg или аналогичного.

Убедитесь, что вы все еще не загружаете mod_python.

Также попробуйте установить:

 WSGIApplicationGroup %{GLOBAL}
 

чтобы обойти проблемы с модулями расширения Python C, которые небезопасны для вспомогательных интерпретаторов.

Видишь:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues

и найдите различные причины сбоев в списке.