用apache在同一个linux机器上运行django站点和wiki

时间:2011-12-14 11:29:41

标签: django apache wiki virtualhost

我在强制基于django的网站和“常规”网站上遇到了一些问题,即wiki可以在同一台机器上工作,而且最重要的是我对这些东西有点新......

我一直在尝试使用VirtualHost设置它,但似乎这不能很好地工作。换句话说,我可以同时运行django站点(alverey以 host.com/djangosite 的形式)和其他站点(即 host.com/othersite1 ) 。只有一个工作,看起来apache首先运行它找到的VirtualHost。

服务器中的结构如下所示

/var/www/djangosite
/var/www/othersite1
/var/www/othersite2 ... etc

现在启用了网站,我进行了一些实验,最后在一个包含两个VirtualHosts的文件中结束:

    <VirtualHost *:80>
        ServerAdmin ss@dd.gg
        DocumentRoot /var/www/djangosite
        ServerName host.com/djangosite

        Alias /m/ "/var/www/djangosite/forum/skins/"
        <Directory "/var/www/djangosite/forum/skins">
                Order allow,deny
                Allow from all
        </Directory>
        Alias /upfiles/ "/var/www/djangosite/forum/upfiles/"
        <Directory "/var/www/djangosite/forum/upfiles">
                Order deny,allow
                Allow from all
        </Directory>

        WSGIScriptAlias /djangosite /var/www/djangosite/djangosite.wsgi

        CustomLog /var/log/djangosite.access.log common
        ErrorLog /var/log/djangosite.error.log
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /var/www/othersite1
        ServerName host.com/othersite1
</VirtualHost>

在他们自己的两个VirtualHosts上都可以,即当我把它放在启用了站点的文件中时,djangosite工作正常,第二个找不到,(文件系统结构中根据文件根目录错误的dir)。如果我将第二个Vhost置于顶部,那么djangosite就不会。

确定。所以现在一个真正的问题是在一个带有一个NIC和一个主机名的linux / apache配置上运行djangosite和“常规”站点的方法。

至少感谢阅读:)

1 个答案:

答案 0 :(得分:0)

您不需要两个单独的VirtualHosts。只需将它们放在同一个中,ServerName就像“host.com”一样。然后你可以使用别名 - Django站点的WSGIScriptAlias和wiki的普通别名。

注意:请不要将Django代码放在DocumentRoot中。这很危险 - 它使人们有可能在settings.py中看到您的代码,包括您的密码等。将其移到其他地方,并省略DocumentRoot指令。