2

我的 Django WEB 应用程序突然无法启动并且突然出现问题。

直到昨天在生产中它工作正常。

我无法弄清楚问题出在哪里。它可以是 apache 或 mod_wsgi 或 windows,但目前我不知道。

我已尝试重新安装所有 python 库/先决条件等,但问题仍然存在。

我在 Apache 端口 8999 为 WEBApp 提供服务,当我访问 WEB 应用程序时,浏览器无法显示任何错误。它只是不断尝试打开页面,在状态栏中我只看到等待消息。

如果我看到 netstat 结果,那么我会看到以下内容

C:\Documents and Settings\admintemp>netstat -an | 找到“8999” TCP
0.0.0.0:8999 0.0.0.0:0 侦听 TCP 172.18.148.156:8999 10.107.226.88:1826 已建立

这种连接永远保持建立,没有任何反应。互联网浏览器似乎只是试图继续打开 Web 应用程序,它看起来好像永远在等待。

我在 Apache 日志中看到的唯一内容是

[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Compiled for Python/2.7.
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Fri Jun 21 18:34:32 2013] [notice] Apache/2.2.22 (Win32) mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations
[Fri Jun 21 18:34:32 2013] [notice] Server built: Jan 28 2012 11:16:39
[Fri Jun 21 18:34:32 2013] [notice] Parent: Created child process 3876
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Compiled for Python/2.7.
[Fri Jun 21 18:34:32 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Child process is running
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Acquired the start mutex.
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Starting 64 worker threads.
[Fri Jun 21 18:34:32 2013] [notice] Child 3876: Starting thread to listen on port 8999.
[Fri Jun 21 18:34:43 2013] [error] C:/Program Files/App_Logic/logic_apps/logic_apps\\..\\logic_apps

我还在 Windows 事件查看器日志(应用程序日志)中注意到以下消息,但我不确定这如何(以及是否)与我手头的问题有关。每次我访问 Web 应用程序时,此消息似乎都会显示一次。

应用程序弹出窗口:Microsoft Visual C++ 运行时库:运行时错误!

程序:C:\Progr...

R6034 应用程序尝试错误地加载 C 运行时库。请联系应用程序的支持团队以获取更多信息。

上述错误消息的确切截图位于http://imgur.com/hijiKv8

请注意,作为我分析的一部分,我已经尝试过

  • 访问 apache 页面http://127.0.0.1:8999确实向我展示了它的工作原理!信息
  • 使用 Django 开发服务器运行 WEB 应用程序,它可以正常启动。
  • 更改 wsgi.py 文件,当我故意在文件中引入错误时,访问 Web 应用程序确实会抱怨相关。

该应用程序安装在 Windows Server 2003 SP1 上,并且此计算机上没有自动更新计划,因此我不怀疑更新会导致此问题。我还看到了 Windows 更新日志,最近没有安装任何东西。

该应用程序基于以下 Python 库作为先决条件

  • httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
  • python-2.7.3
  • Django-1.4.3
  • psycopg2-2.4.6.win32-py2.7-pg9.2.2-release
  • cx_Oracle-5.1.2-10g.win32-py2.7
  • PIL-1.1.7.win32-py2.7
  • python-ldap-2.4.10.win32-py2.7
  • 南-0.7.6
  • xlrd-0.9.0
  • xlwt-0.7.5
  • mod_wsgi.so

我尝试使用 WSGIApplicationGroup %{GLOBAL} 指令并将日志级别设置为调试和信息,但生成的日志没有提供任何额外信息。

我在 http://dpaste.com/1268653/ 上发布了 apache 调试级别日志 我在http://dpaste.com/1268660/ 发布了 apache 信息级别日志

这两个日志都是在 apache 重新启动后获取的,然后应用程序挂起,直到我停止 apache 并复制了日志。

我还尝试运行https://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines中记录的 Hello World 应用程序,它运行良好。

我仍然一无所知。感谢您是否可以指导我我还能做些什么来获得有关该问题的更多详细信息。

感谢有人可以指导我如何解决这个问题或获得更多信息来解决这个问题。

4

1 回答 1

2

我最终能够解决这个问题。

嵌入式 Python 应用程序中运行时错误 R6034的帖子让我找到了解决方案。

感谢 Graham Dumpleton 和其他帮助我离线解决这个问题的人。

最后还是比较厚颜无耻,msvcr90.dll的版本冲突

我从路径中删除了 IBM Bit,它现在工作正常。

进程浏览器视图

于 2013-06-24T21:30:52.907 回答