如何将Apache中的多个域路由到多个Django项目?

时间:2015-04-12 23:56:44

标签: django python-2.7 apache2 django-1.7 django-1.8

所以我首先要解释一下我的目标。我有多个域,我将路由到我的服务器上的简单IP地址。我希望Apache将每个域路由到其Django项目中的相应wsgi.py文件。似乎官方文档是为每个服务器处理一个域而编写的。如果你想检查它们,我们就是Docs.我还要注意到我并不想使用Django站点框架,因为它似乎不适合我所需要的。

所以我会告诉你我一直在尝试的东西。我把它放在sites-available/000-default.conf文件中。

<VirtualHost *:80>
    ServerName www.foo.com
    ServerAlias foo.com

    Alias /media/ /path/to/foo.com/media/
    Alias /static/ /path/to/foo.com/static/

    <Directory /path/to/foo.com/static>
        Require all granted
    </Directory>

    <Directory /path/to/foo.com/media>
        Require all granted
    </Directory>

    WSGIScriptAlias / /path/to/foo.com/foo/wsgi.py

    <Directory /path/to/foo.com/foo>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName www.foo2.com
    ServerAlias foo2.com

    Alias /media/ /path/to/foo2.com/media/
    Alias /static/ /path/to/foo2.com/static/

    <Directory /path/to/foo2.com/static>
        Require all granted
    </Directory>

    <Directory /path/to/foo2.com/media>
        Require all granted
    </Directory>

    WSGIScriptAlias / /path/to/foo2.com/foo2/wsgi.py

    <Directory /path/to/foo2.com/foo2>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>

奇怪的是,这两个站点都没有加载。我只是得到一个Apache只是为我的空文件索引页面服务。请注意,我没有包含WSGIPythonPath /path/to/foo2.com/。我包含它时出错。我并不完全确定它是否需要。

事情也是如此。

  • apache2.conf文件中设置ServerName。
  • 修改了wsgi.py文件以处理多个网站。
  • 我还尝试在/etc/hosts文件中设置我的IP。

所以这主要是全部。我在互联网上搜索过,我找不到任何最新的解决方案。如果您知道解决此问题的方法,请告诉我。如果可能的话,尝试用你的答案包含代码。

PS。我在使用python 2.7的Ubuntu Server 14.04中运行它。

0 个答案:

没有答案