2012-03-08 87 views
1

我在Windows上安装了Apache,(是的,不是一个好主意,但不是我的错)。我打开一个弹出窗口,其中包含大约32张图像,除3个图像链接外,其他所有图像都可以使用。这些图像来自TIF文件,因此必须进行转换,所以它通过我的Django应用程序运行,以完成所有这些工作。当重试工作时,这3个网站失败了。从我的DJango应用程序中我的500来自哪里?

在apache日志中,我获得了29 200秒,接着是3 500秒,但未能加载的实际图像随机散布在29张良好的图像中。当我看日志,尾-f,500到599沿多秒来200到299后,但加时戳在他们面前,就像这样:

192.168.20.45 - - [08/Mar/2012:01:24:28 -0600] "GET /viewer/... 200 44277 
192.168.20.45 - - [08/Mar/2012:01:24:28 -0600] "GET /viewer/... 200 52283 
192.168.20.45 - - [08/Mar/2012:01:24:28 -0600] "GET /viewer/... 200 44991 
192.168.20.45 - - [08/Mar/2012:01:24:29 -0600] "GET /viewer/... 200 33077 
192.168.20.45 - - [08/Mar/2012:01:24:22 -0600] "GET /viewer/... 500 16 
192.168.20.45 - - [08/Mar/2012:01:24:22 -0600] "GET /viewer/... 500 16 
192.168.20.45 - - [08/Mar/2012:01:24:22 -0600] "GET /viewer/... 500 16 

DEBUG = False,并且管理员都设置,所以我应该得到一个电子邮件在Django中每发生500次,我都测试了电子邮件,并按预期工作。我要通过的代码具有错误条件的日志记录,并且这些都不会触发。

这几乎就像Apache或Mod_wsgi知道这些连接进来,但从来没有将它们传递给Django代码,它们最终只会从看起来是超时的结果中死去。 Chrome的DevTools结束了我展示:

**Response Headers** 
Connection:close 
Content-Type:text/html; charset=utf-8 
Date:Thu, 08 Mar 2012 07:24:22 GMT 
Server:Apache/2.2.21 (Win32) mod_wsgi/3.3 Python/2.7.2 
Set-Cookie:sessionid=d4616w0f850u1eb33q7a6fzf37f840b5; Path=/ 
Transfer-Encoding:chunked 
Vary:Cookie 

我在窗户和Apache说,这对启动:

[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Compiled for Python/2.7. 
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Runtime using Python/2.7.2. 
[Thu Mar 08 01:38:09 2012] [notice] Apache/2.2.21 (Win32) mod_wsgi/3.3 Python/2.7.2 configured -- resuming normal operations 
[Thu Mar 08 01:38:09 2012] [notice] Server built: Sep 9 2011 10:26:10 
[Thu Mar 08 01:38:09 2012] [notice] Parent: Created child process 3260 
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Compiled for Python/2.7. 
[Thu Mar 08 01:38:09 2012] [warn] mod_wsgi: Runtime using Python/2.7.2. 
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Child process is running 
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Acquired the start mutex. 
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Starting 64 worker threads. 
[Thu Mar 08 01:38:09 2012] [notice] Child 3260: Starting thread to listen on port 80. 

有小于64名的请求,所以应该留下来处理它们的线程。

有关正在发生的任何想法?或如何弄清楚?编辑---- 没有回溯,就是这个问题。根本没有迹象表明Python曾经看到过这个请求。

是的,你不应该使用python来提供静态文件,但你不能从一个多图像TIFF放入一个单一图像TIFF到你必须从多图像文件中拉出来,放在一个格式浏览器可以显示,并且您不希望将1亿个以上的TIFF图像转换为单个图像PNG或JPEG。而这些都不是可以被普通大众观看,但仅限于自己的“主人”

加载这第二台机器,问题不会发生在图像.....

+0

什么网址可在Apache日志500错误被列? – 2012-03-08 09:10:48

+0

你不应该通过django来提供静态文件。你应该总是使用静态服务。有关信息,请参阅此文件https://docs.djangoproject.com/en/dev/howto/static-files/ – 2012-03-08 09:16:43

+0

追溯哪里? – 2012-03-08 09:43:41

回答

相关问题