与 Wordpress 一起部署 Django 应用程序(在 suburl)

Deploy Django Application along with Wordpress (at suburl)

在我的公司,我们有一台服务器,IP 为 public,上面安装了 Wordpres。 Wordpress url 就像 www.companyblog.org 并且工作正常。

但是,我需要在 url: www.companyblog.org/testproject 的同一台服务器上部署 Django 应用程序。

我正在使用 Ubuntu 12.04 LTSApache 2.2

这是我的 Django 应用程序的虚拟主机配置:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName companyblog.org
        ServerAlias www.companyblog.org

        DocumentRoot /var/www/wordpress/public_html

        WSGIScriptAlias /testproject /home/mazix/djangoprojects/testproject/testproject/wsgi.py

        <Directory /var/www/wordpress/public_html>
                Order allow,deny
                allow from all
        </Directory>

        <Directory /home/mazix/djangoprojects/testproject>
            Order allow,deny
            Allow from all
        </Directory>

        ErrorLog /var/log/error.log
        LogLevel warn
        CustomLog /var/log/access.log combined

</VirtualHost>

我遇到的问题...:[=​​24=]

  1. 当 Wordpress 网站在 www.companyblog.org 启用 并且 Django 应用程序网站在 www.companyblog.org/testproject 启用时,我遇到了著名的 Wordpress 错误:This is somewhat embarrassing, isn’t it? It seems we can’t find what you’re looking for. Perhaps searching, or one of the links below, can help.
  2. 当 Wordpress 站点在 www.companyblog.org 禁用 并且 Django 应用程序站点在 www.companyblog.org/testproject 被启用时,我可以访问测试 Django 网站,所以它工作正常.

我没有更改默认的 Django 应用程序项目。我没有更改 urls.pywsgi.py 等 - none 已更改。我只添加了 WSGIPythonPath /home/mazix/djangoprojects/testproject/etc/apache2/apache2.conf 文件。

您不能让两个 VirtualHosts 监听同一个 port/servername。您需要将它们合并到一个文件中;这可能就像将 WSGIScriptAlias 行复制到另一个 VirtualHost 一样简单。