【问题标题】:Apache/WSGI process dyingApache/WSGI 进程死亡
【发布时间】:2012-12-11 19:41:23
【问题描述】:

我最近更改了一些 Django/Python 站点的服务器,但我立即遇到了麻烦。我的 Apache 实例或 WSGI 守护进程直接死掉了!没有日志,没有警告或错误。我必须以 root 身份重新启动 Apache,我认为这是某个地方的严重权限缺陷。我的 Linux 知识有限,显然我是唯一遇到此问题的人,因为我无法与迄今为止找到的其他答案联系起来。

在 Debian 机器上,WSGI 版本是 3.3(multiprocess = Truemultithread = True)、Python 2.7 和 Django 1.4。我需要的一些 python 库,包括 Django,并非来自 Debian 的存储库;我让它们“手动”安装。

有时,我不知道它是否重要,我得到这个错误:

"ImportError: 导入_strptime失败,因为导入锁定 由另一个线程持有。”

【问题讨论】:

  • 我没有完整的答案,但您可以考虑使用 supervisord 自动重启它,直到找到合适的解决方案supervisord.org

标签: python django apache permissions mod-wsgi


【解决方案1】:

阅读:

确保您没有同时加载 mod_python。

确保您使用的是 mod_wsgi 守护程序模式而不是嵌入式模式。

强制应用程序在主解释器应用程序组中运行。

_strptime 问题是一个 Python 错误(仅在 3.3 中修复)。在 WSGI 脚本文件的开头显式地 import _strptime 模块。

【讨论】:

  • 我已经读过,但对我的大脑来说有点太多了!.. 好吧,我别无选择,再来点咖啡......我最终来到了这里stackoverflow.com/questions/6608748/…,因为我发现这个“脚本在返回标头之前超时”,但不是同一个问题......我将再次阅读文档,也许 mod_wsgi 是针对不同版本的 python 编译的......
  • 要阅读的关键是code.google.com/p/modwsgi/wiki/… 并尝试按照说明设置 WSGIApplicationGroup。
  • 服务器管理员增加了线程和进程的数量……现在看起来稳定了!
猜你喜欢
  • 2015-09-02
  • 2014-12-24
  • 1970-01-01
  • 2018-02-22
  • 2011-12-09
  • 1970-01-01
  • 2013-12-12
  • 1970-01-01
  • 2014-02-16
相关资源
最近更新 更多