更新:我原来的问题在下面,但我随问题发布的代码已被编辑为最终的工作解决方案。
我正在尝试在我的 MAMP 开发服务器上运行多个站点。一些网站是 wordpress 网站,位于 MAMP 的 htdocs 中,一些网站是 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 应用程序和 PHP 应用程序都存在于本地主机服务器上。 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>
最佳答案
首先要解决的几个问题:
- ServerName 是指指定主机名而不是 URL 路径。
- 永远不要将 DocumentRoot 设置为 Django 站点源代码所在的位置。
关于php - Django/mod_wsgi 和 PHP 作为虚拟主机在同一个 Apache 服务器上使用 MAMP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6481233/