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

标签 php django apache mod-wsgi

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

我正在尝试在我的 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>

最佳答案

首先要解决的几个问题:

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

关于php - Django/mod_wsgi 和 PHP 作为虚拟主机在同一个 Apache 服务器上使用 MAMP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6481233/

相关文章:

php - 使用非拉丁字符搜索 Geoname 数据库

Django 值错误 : Can't do subqueries with queries on different DBs

c - 从apache模块读取POST参数

c# - 使用 Php Mysql 进行许可证检查

php - MySQL 和 PHP,mysqli_num_rows 始终返回 0

php - 来自 mySQL 数据库的数据以 JSON 形式传递

python - 使用 setup.py test 和 tox 运行 Django 测试

apache - (99)无法分配请求的地址 : AH00072: make_sock: could not bind to address xx. xxx.xxx.xx:80

javascript - 如何在 iframe 或 lightbox 中查看 google drive 文档链接

python - 在共享服务器 : No module named MySQLdb? 上安装 Django