我正在尝试在Apache的同一IP地址上为不同的virtualenv提供两个Django项目。
我的第一个网站位于http://myip/site-1 和秒:http://myip/site-2
当我运行http://myip/site-1时,Apache会毫无问题地为它提供服务,但是当我运行第二个(http://myip/site-2)时,它会引发以下情况:
The requested URL /site-2/ was not found on this server.
因为它会搜索第一个站点的文档根目录。
这是我的apache.conf
<VirtualHost *:80>
ServerName site-1.example.com
DocumentRoot /home/venv/site-1
# adjust the following line to match your Python path
WSGIDaemonProcess site-1.example.com processes=2 threads=15 display-name=%{GROUP} python-home=/home/venv/lib/python2.7
WSGIProcessGroup site-1.example.com
WSGIScriptAlias / /home/venv/site-1/site-1/wsgi.py
<directory /home/venv/site-1>
AllowOverride all
Require all granted
Options FollowSymlinks
</directory>
Alias /static/ /home/venv/site-1/static_root/
<Directory /home/venv/site-1/static_root>
AllowOverride all
Require all granted
Options FollowSymlinks
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName site-2.example.com
DocumentRoot /home/venv_mob/site-2
# adjust the following line to match your Python path
WSGIDaemonProcess site-2.example.com processes=2 threads=15 display-name=%{GROUP} python-home=/home/venv_mob/lib/python2.7
WSGIProcessGroup site-2.example.com
WSGIScriptAlias / /home/venv_mob/site-2/site-2/wsgi.py
<directory /home/venv_mob/site-2>
AllowOverride all
Require all granted
Options FollowSymlinks
</directory>
Alias /static/ /home/venv_mob/site-2/static_root/
<Directory /home/venv_mob/site-2/static_root>
AllowOverride all
Require all granted
Options FollowSymlinks
</Directory>
</VirtualHost>
我尝试过很多在网上找到的解决方案,但问题仍然存在。
有什么想法吗?
答案 0 :(得分:0)
您必须连接到http://site-1.example.com
(使用示例中的字词),而不是http://myip/site-1
。 http://site-2.example.com
,而不是http://myip/site-2
。
一般来说,您可以name-based virtual hosts为其配置DNS(将site-1.example.com
和site-2.example.com
映射到您的IP地址),或者run different sites on different ports。