在apache配置中使用WSGIApplicationGroup%{GLOBAL}的问题 [英] problem using WSGIApplicationGroup %{GLOBAL} in apache configuration

查看:207
本文介绍了在apache配置中使用WSGIApplicationGroup%{GLOBAL}的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用django与apache和mod_wsgi
当我在apache配置文件(.conf)中使用WSGIApplicationGroup%{GLOBAL}时,我面临一个问题。我不知道如果我正确使用这个指令,或者我需要以另一种方式使用它,问题是我需要添加这个指令来解决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
<目录 /家庭/ SA /网络/ SITE1 /阿帕奇>
允许从所有
< / Directory>

别名/ site_media // home / sa / www / site1 / media /
< Directory/ home / sa / www / site1 / media />
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
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
<目录 /家庭/ SA /网络/站点2 /阿帕奇>
允许从所有
< / Directory>

别名/ site_media // home / sa / www / site2 / media /
< Directory/ home / sa / www / site2 / media />
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
IndexOptions FancyIndexing
< / Directory>

别名/媒体//usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
<目录/ usr / local / LIB / python2.6的/ DIST-包/ django的/了contrib /管理/媒体/>
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
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 /家庭/ SA /网络/ site3 /阿帕奇>
允许从所有
< / Directory>

别名/ site_media // home / sa / www / site3 / media /
< Directory/ home / sa / www / site3 / media />
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
IndexOptions FancyIndexing
< / Directory>

别名/媒体//usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
<目录/ usr / local / LIB / python2.6的/ DIST-包/ django的/了contrib /管理/媒体/>
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
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>
允许从所有
< / Directory>

别名/ site_media // home / sa / www / site4 / media /
< Directory/ home / sa / www / site4 / media />
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
IndexOptions FancyIndexing
< / Directory>

别名/媒体//usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
<目录/ usr / local / LIB / python2.6的/ DIST-包/ django的/了contrib /管理/媒体/>
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
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
<目录 /家庭/ SA /网络/ site5 /阿帕奇>
允许从所有
< / Directory>

别名/ site_media // home / sa / www / site5 / media /
< Directory/ home / sa / www / site5 / media />
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
IndexOptions FancyIndexing
< / Directory>

别名/媒体//usr/local/lib/python2.6/dist-packages/django/contrib/admin/media/
<目录/ usr / local / LIB / python2.6的/ DIST-包/ django的/了contrib /管理/媒体/>
订单允许,拒绝
选项索引FollowSymLinks
允许从所有
IndexOptions FancyIndexing
< / Directory>

< / VirtualHost>

有人面临这个问题
任何建议



谢谢

解决方案

Django的实现防止在同一个解释器(应用程序组)中运行多个Django实例。因此,如果在同一Apache服务器上运行多个Django站点,并且必须将WSGIApplicationGroup设置为%{GLOBAL},那么您必须使用守护程序模式,并将每个Django站点委派给单独的守护进程组。



确保您阅读:



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



后者解释部分为什么守护进程模式在使代码重新加载更加方便之前是好的。


im using django with apache and mod_wsgi i am facing a problem when i use WSGIApplicationGroup %{GLOBAL} in apache configuration file (.conf) . i dont know if i am using this directive correctly or i need to use it in another way , the problem is that i needed to add this directive to fix a problem for xapian as described in this ticket (http://trac.xapian.org/ticket/185) after that the search started to work but all my sites contents got mixed up, meaning site1 content appears on site2.when i removed WSGIApplicationGroup %{GLOBAL} , sites are rendering properly again but search stopped working.

here is my .conf file contents:

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>

has anybody faced this issue any suggestions

thanks

解决方案

Django's implementation prevents multiple Django instances running in same interpreter (application group). Thus if running multiple Django sites on same Apache server and must set WSGIApplicationGroup to %{GLOBAL}, then you MUST use daemon mode and delegate each Django site to a separate daemon process group. Daemon mode is preferred anyway.

Ensure you read:

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

The latter explaining part why daemon mode is good as far as making code reloading easier.

这篇关于在apache配置中使用WSGIApplicationGroup%{GLOBAL}的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆