Назад | Перейти на главную страницу

Устранение неполадок с отмиранием потока mod-wsgi

Демон WSGI на нашем общедоступном веб-сервере умер, и для его повторного запуска потребовалась перезагрузка конфигурации apache. Все error.log говорит:

Script timed out before returning headers: wsgi.py

(и то же сообщение с ,referer:url приложение). Я не могу найти другого журнала и не вижу очевидного способа включить другие средства диагностики в mod-wsgi. Согласно листингу процесса поток перестал выходить. Кто-нибудь знает, где искать или какую конфигурацию добавить, чтобы в следующий раз получить больше информации?

Демон настроен как

WSGIScriptAlias /pootle /usr/share/doc/pootle/wsgi.py
WSGIDaemonProcess pootle user=pootle group=pootle processes=1 threads=3 stack-size=1048576 maximum-requests=10 inactivity-timeout=30 display-name=%{GROUP}
WSGIProcessGroup pootle
WSGIApplicationGroup pootle
WSGIPassAuthorization On

максимальное количество запросов настолько мало, потому что приложение, похоже, теряет память (к счастью, это приложение не так критично и имеет всего несколько пользователей). Apache, wsgi и django - это версии (Debian Squeeze):

Это единственное приложение wsgi, работающее на этом сервере; на том же сервере есть другие, более важные приложения, но на PHP.

Я бы порекомендовал Apache 2.2.18 или новее. Аналогичные проблемы чаще возникали в версиях Apache 2.2.15-2.2.17. У меня не было столько проблем с новыми версиями Apache.

Также вы используете:

WSGIApplicationGroup %{GLOBAL}

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