我目前的配置已经运行了一年多。
我的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应用程序引起的。
您如何建议跟踪错误/隔离问题?任何反馈都表示赞赏!
答案 0 :(得分:1)
这个问题是我的一个django应用程序中的一个错误功能,它将所有内容保存在内存中。
答案 1 :(得分:0)
您可以在apache配置中配置mod_wsgi使用的资源。试试这个
WSGIDaemonProcess yourname.com processes=1 threads=2 display-name=%{GROUP}
WSGIProcessGroup yourname.com
WSGIScriptAlias / /home/django/myproject/apache/django.wsgi
您可以设置进程数和线程数等。请查看http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess
中的选项