目前的配置我已经完美运行了一年多。
我的 apache 配置为包含这个 mod_wsgi 配置:
Alias /uploads/ "/home/django/myproject/uploads/"
<Directory "/home/django/myproject/uploads/">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
Alias /static/ "/home/django/myproject/sitestatic/"
<Directory "/home/django/myproject/sitestatic/">
Order allow,deny
Options Indexes
Allow from all
IndexOptions FancyIndexing
</Directory>
WSGIScriptAlias / "/home/django/myproject/apache/django.wsgi"
<Directory "/home/django/myproject/apache">
Order deny,allow
Allow from all
</Directory>
我的 /home/django/myproject/apache/django.wsgi 看起来像这样:
import os
import sys
sys.path.append('/home/django')
sys.path.append('/home/django/myproject')
os.environ['DJANGO_SETTINGS_MODULE']='myproject.settings'
import djcelery
djcelery.setup_loader()
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
我猜很典型。
在我的 httpd.conf 我有这一行:
Include "/home/django/myproject/apache/apache_django_wsgi.conf"
每当加载此 conf 时,apache 进程都会以 100% 的速度跳转,导致我出现 MemoryErrors ...
当我注释掉上面的 include 行时,启动 apache 很顺利,而且应该是内存明智的。
我在 apache 日志中找不到任何内容,甚至将其设置为调试模式。
很明显,这个内存泄漏,如果我可以这样称呼它,它是由 mod_wsgi 或我的 django 应用程序引起的。
您建议如何跟踪错误/隔离问题?任何反馈表示赞赏!