Dgango Apache Timeout when reading response headers from daemon process

Dgango Apache Timeout when reading response headers from daemon process

  • 问题
  • 解决方法

问题

当使用OpenCV或者Numpy这样的Python C扩展模块在mod_wsgi下使用时会导致超时。

一些使用C扩展模块的Python第三方软件包,其中包括scipy和numpy,将仅在Python主解释器中起作用,并且在默认情况下不能作为mod_wsgi在子解释器中使用。结果可能是线程死锁,不正确的行为或进程崩溃1。——Graham Dumpleton

解决方法

解决方法是使用以下命令强制WSGI应用程序在流程的主要解释器中运行
httpd.conf中加入以下内容(有些情况下是在000-default.conf,取决于你在哪里写入的Apache配置)

WSGIApplicationGroup %{GLOBAL}

如果在同一服务器上运行多个WSGI应用程序,您将要开始使用守护程序模式进行调查,因为某些框架不允许多个实例在同一解释器中运行。Django就是这种情况。因此,请使用守护程序模式,以便每个进程都在自己的进程中,并强制每个进程在其各自的守护程序模式进程组的主解释器中运行1。——Graham Dumpleton


  1. 摘自https://serverfault.com/questions/514242/non-responsive-apache-mod-wsgi-after-installing-scipy/514251#514251 ↩︎ ↩︎

你可能感兴趣的:(Python,Linux,python,linux,apache,wsgi,django)