所以我首先要解释一下我的目标。我有多个域,我将路由到我的服务器上的简单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中运行它。