Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个Apache上多个django实例的当前目录_Django_Apache - Fatal编程技术网

一个Apache上多个django实例的当前目录

一个Apache上多个django实例的当前目录,django,apache,Django,Apache,我们正在尝试在同一个Apache服务器上运行多个django实例。所有站点共享相同的代码和设置文件,但具有不同的wsgi.py工作目录,以及具有databaseparameters和不同数据库的configfile。Django的版本是1.6.2。布局如下: /bin/manage.py /tttb/settings.py /site1/wsgi.py /config.txt /site2/wsgi.py /config.txt 以下是httpd.conf的当前

我们正在尝试在同一个Apache服务器上运行多个django实例。所有站点共享相同的代码和设置文件,但具有不同的wsgi.py工作目录,以及具有databaseparameters和不同数据库的configfile。Django的版本是1.6.2。布局如下:

/bin/manage.py
    /tttb/settings.py
/site1/wsgi.py
      /config.txt
/site2/wsgi.py
      /config.txt
以下是httpd.conf的当前格式

NameVirtualHost *:80
WSGIPythonPath "Z:/projects/bin/tttb"

# site1
# =======================================
<VirtualHost *:80>
    ServerName site1
    WSGIScriptAlias "/djangosite1" "Z:/projects/site1/wsgi.py" 
    <Directory "Z:/projects/site1">
        Order allow,deny
        Allow from all
        AllowOverride None
        Options None
        Require all granted
    </Directory>
</VirtualHost>

# site1
# =======================================
<VirtualHost *:80>
     ServerName site2
     WSGIScriptAlias "/djangosite2" "Z:/projects/site2/wsgi.py" 
     <Directory "Z:/projects/site2">
        Order allow,deny
        Allow from all
        AllowOverride None
        Options None
        Require all granted
    </Directory>
</VirtualHost>
与StackOverflow上的类似问题相反,请参阅或我们在windows XAMMP上运行,因此不可能使用WSGIApplicationGroup或WSGIProcessGroup。然而,乍一看,这种设置是有效的。我们甚至测试了它是否有虚拟主机。在这两种情况下都可以

除了一个细节:当我们需要确定当前工作目录时,实例会混淆。如。 myfile=openos.path.join.,someresultfile.txt,r 最初,在Apache重启之后,workdir仍然正确确定,但在浏览了两个站点之后,workingdirectory似乎被锁定在两个路径之一。 可能还有其他类似的泄漏,我们不知道,但这是最明显的。我们也在不使用virtualhosts的情况下尝试了这一点,它给出了相同的结果

另一个奇怪的行为是,当如上所述使用virtualhosts时,通用主机名上的url仍然指向一个Django站点。但是,我希望它应该指向子目录htdocs/djangosite1并失败,因为该目录不存在

在此问题上的任何帮助都将不胜感激

import os,sys
bindir = os.path.join("Z:\\","projects","bin")
if bindir not in sys.path:
    sys.path.append(bindir)
os.chdir(os.path.dirname(os.path.abspath(__file__)))
os.environ['DJANGO_SETTINGS_MODULE'] = 'tttb.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()