Случайные внутренние ошибки сервера при использовании Django с mod_wsgi и Apache - PullRequest
0 голосов
/ 16 февраля 2012

Мы настроены с использованием Django + mod_wsgi + Apache.

Время от времени, пока мы делаем обновления сайта / меняем внутренний код Python, пользователи сайта сталкиваются с внутренними страницами ошибок сервера, которые, похоже, обслуживаются Apache, а не Django (по крайней мере, они ужасно уродливые, не хорошие). Похоже, что они генерируют отчеты об ошибках (по электронной почте), я думаю, они просто не попадают на наш шаблон 500 ошибок сервера.

Я бы хотел разобраться, почему это происходит. Обычно ошибки приводят к появлению страницы ошибок 500 (и с хорошим стилем), обслуживаемой Django, но иногда мы видим вместо этого некрасивую страницу внутренних ошибок сервера.

Кто-нибудь знает, почему это происходит, и что я могу проверить / проверить / опубликовать здесь, чтобы остановить это? Помощь очень признателен, спасибо!

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

Если Apache показывает вам страницу 500, это говорит о том, что Django выдал ошибку при отображении страницы 500. Например, в шаблоне 500.html может быть тег шаблона, который Django не смог отобразить.

Вы смотрели в журналах ошибок Apache? Для Apache2 В Debian они по умолчанию хранятся в /var/log/apache2/. Ваша операционная система может отличаться.

1 голос
/ 16 февраля 2012

Я знаю это поведение, у меня была такая же проблема на Centos 5.3 с Python 2.5. После того, как я установил Python 2.7.2 и скомпилировал последнюю версию mod_wsgi (я думаю, что это была версия 3.3), эти ошибки исчезли. Насколько я помню, проблема в Python 2.5 в отношении выделения памяти.

Будьте осторожны при использовании CentOS, так как вы не можете обновить Python 2.4, вам придется устанавливать версии параллельно. Обновление Python нарушит функции системы CentOS, такие как «yum».

...