Django/mod_wsgi和PHP作为使用MAMP的同一Apache服务器上的虚拟主机


Django/mod_wsgi and PHP as Virtual Hosts on same Apache Server using MAMP

更新:我最初的问题在下面,但我发布的问题代码已经编辑为最终的工作解决方案

我正在尝试在我的MAMP开发服务器上运行多个站点。一些网站是wordpress网站,位于MAMP的htdocs中,一些网站是django应用程序,位于名为djangoprojects的文件夹中。

我一直在尝试实现这些堆栈问题的解决方案:

使用apache&mod_wsgi

如何在一台Apache服务器上同时运行Django和PHP?

但我没有成功。我能够使用您在第一个VirtualHost括号中看到的代码(从守护进程行开始)在apache上运行django站点,但之后没有一个php站点可以访问。

我们非常感谢您的帮助。我是新手,我不会改正错误。

以下是我的httpd.conf:中的代码

更新:下面的代码有效。Django应用程序和PHP应用程序都存在于localhost服务器上。与PHP相关的VirtualHost内容是从MAMP httpd.conf文件中进一步复制的

<VirtualHost *:80>
    ServerName localhost:80
    UseCanonicalName Off
    DocumentRoot "/Applications/MAMP/htdocs" 
    <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory "/Applications/MAMP/htdocs">
        Options All
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    WSGIDaemonProcess site1 display-name=%{GROUP}
    WSGIProcessGroup site1
    Alias /media/ /Users/sequoia/djangoprojects/dynamics/media/
    <Directory /Users/sequoia/djangoprojects/dynamics/media>
        Options ExecCGI
            Order deny,allow
        Allow from all
    </Directory>
    WSGIScriptAlias /dynamics /Users/sequoia/djangoprojects/dynamics/apache/django.wsgi
    <Directory /Users/sequoia/djangoprojects/dynamics/apache>
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

首先要解决的几个问题:

  1. ServerName是指指定主机名而不是URL路径
  2. 您永远不应该将DocumentRoot设置为Django站点源代码所在的位置