проблем при използване на WSGIApplicationGroup %{GLOBAL} в конфигурация на apache

използвам django с apache и mod_wsgi, изправен съм пред проблем, когато използвам WSGIApplicationGroup %{GLOBAL} в конфигурационния файл на apache (.conf). не знам дали използвам тази директива правилно или трябва да я използвам по друг начин, проблемът е, че трябваше да добавя тази директива, за да коригирам проблем за xapian, както е описано в този билет (http://trac.xapian.org/ticket/185) след това търсенето започна да работи, но съдържанието на всичките ми сайтове се смеси нагоре, което означава, че съдържанието на site1 се появява на site2. когато премахнах WSGIApplicationGroup %{GLOBAL}, сайтовете отново се изобразяват правилно, но търсенето спря да работи.

ето съдържанието на моя .conf файл:

NameVirtualHost my_ip_address:80
WSGIApplicationGroup %{GLOBAL}
<VirtualHost my_ip_address:80>
ServerName www.site1.com
ServerAlias site1

WSGIScriptAlias / "/home/sa/www/site1/apache/django.wsgi"
<Directory "/home/sa/www/site1/apache">
    Allow from all
</Directory>

Alias /site_media/ "/home/sa/www/site1/media/"
<Directory "/home/sa/www/site1/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>


</VirtualHost>

WSGIApplicationGroup %{GLOBAL}

<VirtualHost my_ip_address:80>
ServerName www.site2.com
ServerAlias site2

WSGIScriptAlias / "/home/sa/www/site2/apache/django.wsgi"
<Directory "/home/sa/www/site2/apache">
    Allow from all
</Directory>

Alias /site_media/ "/home/sa/www/site2/media/"
<Directory "/home/sa/www/site2/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

Alias /media/ "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/"
<Directory "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

</VirtualHost>



WSGIApplicationGroup %{GLOBAL}

< VirtualHost my_ip_address:80 >
ServerName www.site3.com
ServerAlias site3

WSGIScriptAlias / "/home/sa/www/site3/apache/django.wsgi"
<Directory "/home/sa/www/site3/apache">
    Allow from all
</Directory>

Alias /site_media/ "/home/sa/www/site3/media/"
<Directory "/home/sa/www/site3/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

Alias /media/ "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/"
<Directory "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

</VirtualHost>


WSGIApplicationGroup %{GLOBAL}

<VirtualHost my_ip_address:80>

ServerName www.site4.com
ServerAlias site4

WSGIScriptAlias / "/home/sa/www/site4/apache/django.wsgi"
<Directory "/home/sa/www/site4/apache"> 
    Allow from all 
</Directory>

Alias /site_media/ "/home/sa/www/site4/media/"
<Directory "/home/sa/www/site4/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

Alias /media/ "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/"
<Directory "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

</VirtualHost>


WSGIApplicationGroup %{GLOBAL}

<VirtualHost my_ip_address:80>
ServerName www.site5.com
ServerAlias site5

WSGIScriptAlias / "/home/sa/www/site5/apache/django.wsgi"
<Directory "/home/sa/www/site5/apache">
    Allow from all
</Directory>

Alias /site_media/ "/home/sa/www/site5/media/"
<Directory "/home/sa/www/site5/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

Alias /media/ "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/"
<Directory "/usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/">
    Order allow,deny
    Options Indexes FollowSymLinks
    Allow from all
    IndexOptions FancyIndexing
</Directory>

</VirtualHost>

някой сблъсквал ли се е с този проблем някакви предложения

Благодаря


person watad    schedule 04.08.2010    source източник


Отговори (1)


Внедряването на Django предотвратява изпълнението на множество копия на Django в един и същ интерпретатор (група приложения). По този начин, ако изпълнявате няколко сайта на Django на един и същ сървър на Apache и трябва да зададете WSGIApplicationGroup на %{GLOBAL}, тогава ТРЯБВА да използвате режим на демон и да делегирате всеки сайт на Django на отделна група процеси на демон. Във всеки случай режимът на демон е за предпочитане.

Уверете се, че сте прочели:

http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode

Последното обяснява защо режимът на демон е добър, доколкото улеснява презареждането на кода.

person Graham Dumpleton    schedule 04.08.2010
comment
благодаря за връзките, използването на режим на демон реши проблема, но бих искал съвет относно параметрите за процеси, нишки как да определя тези числа - person watad; 08.08.2010
comment
Ако вашият код е нишково безопасен, използвайте настройките по подразбиране, т.е. Не указвайте опции за процеси или нишки и оставете по подразбиране един процес с 15 нишки. Това обикновено е достатъчно за повечето хора. С други думи, не се опитвайте да оптимизирате нещата преждевременно. Ако започнете да виждате проблеми с отговора на конкретни сайтове, тогава може би ще трябва да настроите само тази група демон процеси. - person Graham Dumpleton; 09.08.2010