【问题标题】:can django running on apache with mod_wsgi cause any memory leaks?django 使用 mod_wsgi 在 apache 上运行会导致任何内存泄漏吗?
【发布时间】:2013-01-16 21:08:40
【问题描述】:

目前的配置我已经完美运行了一年多。

我的 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 ...

当我注释掉上面的包含行时,启动 apache 很顺利,而且应该是内存方面的。

我在 apache 日志中找不到任何内容,甚至将其设置为调试模式。

很明显,这个内存泄漏,如果我可以这样称呼它,它是由 mod_wsgi 或我的 django 应用程序引起的。

您建议如何跟踪错误/隔离问题?任何反馈表示赞赏!

【问题讨论】:

    标签: django apache mod-wsgi


    【解决方案1】:

    问题是我的一个 django 应用程序中的一个错误函数,它将所有内容都保存在内存中。

    【讨论】:

      【解决方案2】:

      您可以在您的 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

      【讨论】:

      • 谢谢,但它没有帮助。如果进程设置为 1,则所有内存都将转到该进程。还有其他想法吗?
      猜你喜欢
      • 2010-11-18
      • 2021-03-23
      • 2021-09-25
      • 2014-12-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 2011-06-16
      相关资源
      最近更新 更多