-1

私が使用している現在の構成は、1年以上完全に実行されています。

私の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アプリのいずれかが原因です。

エラーを追跡/問題を特定することをどのように推奨しますか?フィードバックをいただければ幸いです。

4

2 に答える 2

1

問題は、すべてをメモリに保持していた私のdjangoアプリの1つにあるバグのある関数でした。

于 2013-01-17T13:22:26.197 に答える
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

于 2013-01-16T21:42:30.640 に答える