首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mod-wsgi线程死掉的故障排除

mod-wsgi线程死掉的故障排除
EN

Server Fault用户
提问于 2013-04-10 12:25:48
回答 1查看 2.4K关注 0票数 0

我们面向公共的web服务器上的一个WSGI守护进程死了,需要重新加载apache配置才能再次启动它。error.log只说:

代码语言:javascript
复制
Script timed out before returning headers: wsgi.py

(以及,referer:url附录中的相同消息)。我找不到任何其他日志,也看不到在mod中启用其他诊断的任何明显方法。根据进程列表,线程停止退出。有人知道下一次在哪里查找或添加什么配置来获取更多信息吗?

守护进程配置如下

代码语言:javascript
复制
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挤压版):

  • Apache2-MPM预叉2.2.16-6+挤压11
  • 利洗礼2-mod-wsgi 3.3-2
  • python 1.2.3-3+squeeze5 5
  • python djblets 0.5.10~alpha0 0+git201005030944 201005030944-2
  • python-django-注册0.7-2

它是唯一运行在此服务器上的wsgi应用程序;在同一服务器上还有其他一些更重要的应用程序,但在PHP中。

EN

回答 1

Server Fault用户

发布于 2013-04-11 02:09:25

我推荐Apache2.2.18或更高版本。Apache版本在2.2.15-2.2.17之间出现类似问题的发生率较高。较新的Apache版本并没有那么多的问题。

此外,您是否使用:

代码语言:javascript
复制
WSGIApplicationGroup %{GLOBAL}

如果您正在为Python使用第三方包,它有一个C扩展,而且在子解释器中没有正确实现,那么它可以锁定。解决方案是强制使用该指令的主解释器。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/498006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档