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

时间:2011-06-25 23:52:22

标签: php django apache mod-wsgi

更新:我的原始问题如下,但我在问题中发布的代码已经编辑到最终的工作解决方案。

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

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

multiple django sites with apache & mod_wsgi

How do I run Django and PHP together on one Apache server?

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

非常感谢帮助。我是新手,我无法弄清楚错误。

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

更新:以下代码有效。 Django App和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 个答案:

答案 0 :(得分:1)

首先要解决几个问题:

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