Django / Lighttpd停止响应并返回500错误

时间:2011-03-08 04:49:14

标签: django lighttpd

我有一个运行良好的Web应用程序已经运行了几个月相当稳定,但每次我们都看到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条错误的堆栈跟踪信息,但不会在此问题开始时向其发送电子邮件。

lighttpd.conf的fcgi部分如下所示:

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和我们的应用程序之间存在一些问题,或者应用程序可能会做错误导致这种情况发生,但我现在不知道在哪里看。

1 个答案:

答案 0 :(得分:0)

您是否尝试在django应用程序中进行一些调试以查看套接字在该方面正在做什么?据推测,它确实看到了请求,但没有响应?

你得到的错误发生在fcgi_demux_response()中 - 基本上Lighttpd没有响应......