我在强制基于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和“常规”站点的方法。
至少感谢阅读:)
答案 0 :(得分:0)
您不需要两个单独的VirtualHosts。只需将它们放在同一个中,ServerName就像“host.com”一样。然后你可以使用别名 - Django站点的WSGIScriptAlias和wiki的普通别名。
注意:请不要将Django代码放在DocumentRoot中。这很危险 - 它使人们有可能在settings.py中看到您的代码,包括您的密码等。将其移到其他地方,并省略DocumentRoot指令。