У меня есть довольно хорошо себя зарекомендовавшее себя веб-приложение, которое работает довольно стабильно в течение нескольких месяцев, но каждый раз мы видели, как приложение django перестало отвечать, и сервер lighttpd начинает извергать 500 ошибок.
/ var / log / lighttpd / error.log выглядит так:
2011-03-06 18:20:17: (server.c.1469) server stopped by UID = 0 PID = 32106
2011-03-06 18:20:18: (log.c.97) server started
2011-03-08 03:13:12: (mod_fastcgi.c.2494) unexpected end-of-file (perhaps the fastcgi process died): pid: 0 socket: unix:/opt/app/var/app.sock
2011-03-08 03:13:12: (mod_fastcgi.c.3326) response not received, request sent: 608 on socket: unix:/opt/app/var/app.sock for /app.fcgi , closing connection
А затем только повторяющиеся две последние строки, насколько глаз может видеть, пока я не перезапущу приложение django.
У нас есть приложение, настроенное для отправки нам по электронной почте трассировки стека на 500 ошибок, что оно и делает, но не при возникновении этой проблемы.
Раздел fcgi файла lighttpd.conf выглядит следующим образом:
fastcgi.server = (
"/" + project-name + ".fcgi" => (
"main" => (
"socket" => project-root + "/var/" + project-name + ".sock",
"check-local" => "disable",
"min-proces" => 4,
"max-load-per-proc" => 3,
"broken-scriptfilename" => "enable",
)
),
)
У кого-нибудь есть идеи о том, как отследить, что происходит? Я подозреваю, что у нас есть какая-то проблема между lighttpd и нашим приложением, или, возможно, приложение делает что-то неправильно, что вызывает это, но я не знаю, где искать сейчас.