我使用IIS作为well服务器(使用PyISAPIe)成功地运行了Django,并且在我的测试服务器(安装Windows2008Server R2 64位)中一切顺利。
然后,我将应用程序安装在具有相同配置的另一个服务器上,对于第一个请求,它可以正常工作。然后,当我重新加载页面时,我会得到一个“服务不起作用”页面。
在事件日志中,我看到了一个应用程序错误,它说python26.dll有一些问题:
Faulting application name: w3wp.exe
Faulting module name: python26.dll
Exception code: 0x40000015
Faulting application path: C:\Windows\SysWOW64\inetsrv\w3wp.exe
Faulting module path: C:\Windows\system32\python26.dll你能给我一些关于如何解决那个问题的建议吗?
更新:应用程序池高级设置中的“快速失败保护”设置为5次失败;禁用它,所有工作正常。
那么,现在的问题是:我如何才能发现导致失败的原因呢?
UPDATE:我发现当有多个请求(img、css、js)时,IIS会崩溃。它们都会被调用PyISAPIe,一旦被识别,就会将它们传递给静态服务器。不知道为什么会这样..。
发布于 2012-05-10 11:24:15
PyISAPIe不是在Windows2008上运行Django的好选择。在本文中,您可以找到更好的解决方案:在Windows上运行Django (带有性能测试)
发布于 2011-04-28 14:08:36
检查事件日志,它应该在那里。
您还可以在httperror日志中找到更多细节(C:\Windows\System32 32\LogFiles\HTTPERR)。
发布于 2012-05-11 17:59:45
我发现IIS在有多个请求(img、css、js)时崩溃。它们都会被调用PyISAPIe,一旦被识别,就会将它们传递给静态服务器。不知道为什么会这样..。
多个请求会导致这两台机器上的错误吗?当一个ISAPI应用程序中有多个请求时,每个请求都在自己的线程中运行。Python多线程模型是全局的--在该Python进程下运行的所有线程都是混合的,并且共享所有全局资源,因此您必须使用Python引擎序列化在所有应用程序和进程中运行的所有多线程代码。这是Python多线程处理的一个严重缺点,可能是问题的根源。请参阅http://docs.python.org/library/multiprocessing.html和其他来源。
但即使这只发生在一台机器上,而不是另一台机器上,这可能仍然是原因--它还可能依赖于许多其他环境变量--请求的数量、机器的资源、处理器等。
https://stackoverflow.com/questions/5664812
复制相似问题