Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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在同一台linux机器上运行django站点和Wiki_Django_Apache_Wiki_Virtualhost - Fatal编程技术网

使用apache在同一台linux机器上运行django站点和Wiki

使用apache在同一台linux机器上运行django站点和Wiki,django,apache,wiki,virtualhost,Django,Apache,Wiki,Virtualhost,我在强迫django网站和一个“常规”网站(比如Wiki)在同一台机器上工作时遇到了一点问题,更重要的是,我对这方面还有些陌生 我一直在尝试使用VirtualHost进行设置,但似乎效果不太好。换句话说,我可以同时运行django站点(通常以host.com/djangosite的形式)和其他站点(即host.com/othersite1)。一次只能运行一个,看起来apache运行的是它找到的第一个VirtualHost 服务器中的结构如下所示 /var/www/djangosite /var/

我在强迫django网站和一个“常规”网站(比如Wiki)在同一台机器上工作时遇到了一点问题,更重要的是,我对这方面还有些陌生

我一直在尝试使用VirtualHost进行设置,但似乎效果不太好。换句话说,我可以同时运行django站点(通常以host.com/djangosite的形式)和其他站点(即host.com/othersite1)。一次只能运行一个,看起来apache运行的是它找到的第一个VirtualHost

服务器中的结构如下所示

/var/www/djangosite
/var/www/othersite1
/var/www/othersite2 ... etc
现在站点启用了,我进行了一点尝试,最终在一个文件中找到了两个虚拟主机:

    <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>

服务器管理员ss@dd.gg
DocumentRoot/var/www/djangosite
ServerName host.com/djangosite
别名/m/“/var/www/djangosite/forum/skins/”
命令允许,拒绝
通融
别名/upfiles/“/var/www/djangosite/forum/upfiles/”
命令拒绝,允许
通融
WSGIScriptAlias/djangosite/var/www/djangosite/djangosite.wsgi
CustomLog/var/log/djangosite.access.log公共
ErrorLog/var/log/djangosite.error.log
DocumentRoot/var/www/othersite1
ServerName host.com/othersite1
这两个虚拟主机本身都可以,也就是说,当我把它放在启用了djangosite的站点中的一个文件中时,第二个就找不到了(文档根在文件系统结构中的错误目录)。如果我把第二个Vhost放在上面,Djangost站点就不会工作

嗯。所以现在一个真正的问题是,在一个linux/apache配置上使用一个NIC和一个主机名运行djangosite和“常规”站点有什么诀窍


至少感谢您阅读:)

您不需要两个独立的虚拟主机。只需将它们放在同一个服务器中,服务器名仅为“host.com”。然后您可以使用别名—Django站点的WSGIScriptAlias和wiki的普通别名


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

谢谢,我会在几分钟内尝试一下。好的,它就像一个符咒:)谢谢,我想它应该是简单的:)