我们面向公共的web服务器上的一个WSGI守护进程死了,需要重新加载apache配置才能再次启动它。error.log只说:
Script timed out before returning headers: wsgi.py(以及,referer:url附录中的相同消息)。我找不到任何其他日志,也看不到在mod中启用其他诊断的任何明显方法。根据进程列表,线程停止退出。有人知道下一次在哪里查找或添加什么配置来获取更多信息吗?
守护进程配置如下
WSGIScriptAlias /pootle /usr/share/doc/pootle/wsgi.py
WSGIDaemonProcess pootle user=pootle group=pootle processes=1 threads=3 stack-size=1048576 maximum-requests=10 inactivity-timeout=30 display-name=%{GROUP}
WSGIProcessGroup pootle
WSGIApplicationGroup pootle
WSGIPassAuthorization On最大请求是如此之低,因为应用程序似乎在泄漏内存(幸运的是,这个应用程序并不是那么关键,只有很少的用户)。Apache、wsgi和django是版本(Debian挤压版):
它是唯一运行在此服务器上的wsgi应用程序;在同一服务器上还有其他一些更重要的应用程序,但在PHP中。
发布于 2013-04-11 02:09:25
我推荐Apache2.2.18或更高版本。Apache版本在2.2.15-2.2.17之间出现类似问题的发生率较高。较新的Apache版本并没有那么多的问题。
此外,您是否使用:
WSGIApplicationGroup %{GLOBAL}如果您正在为Python使用第三方包,它有一个C扩展,而且在子解释器中没有正确实现,那么它可以锁定。解决方案是强制使用该指令的主解释器。
https://serverfault.com/questions/498006
复制相似问题