在同一个子域下,我需要设置几个独立的站点,每个站点运行django,这些站点是完全分开的。每个站点都应该在它自己的子目录中,并且这些子目录必须受密码保护。
例如:
subdomain.example.com/site1
subdomain.example.com/site2
我正在使用apache2并为子域提供虚拟服务器条目。 django使用FastCGI运行。基本上,我不知道如何设置它。我将什么放入我的< VirtualHost>子域的条目?通常,对于子域下的单个django站点,我会将WSGIScriptAlias指向应该执行的python脚本,但是我该怎么做多个站点? 请帮忙 谢谢 康斯坦丁
答案 0 :(得分:0)
这些不是独立的虚拟主机。
他们是独立的"地点" (或"目录")在虚拟主机中。
你会做一些类似下面的事情。
ServerName example.com
DocumentRoot /opt/app/site1/public_html
Alias /media/site1 /opt/app/site1/media
DocumentRoot /opt/app/site2/public_html
Alias /media/site2 /opt/app/site2/media
RewriteEngine On
RewriteRule ^/(media/site1.*)$ /$1 [QSA,L,PT]
RewriteRule ^/(media/site2.*)$ /$1 [QSA,L,PT]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/site1(.*)$ /mysite1.fcgi/$1 [QSA,L]
RewriteRule ^/site1(.*)$ /mysite2.fcgi/$1 [QSA,L]
[这是未经测试的,因为我们使用mod_wsgi。]
答案 1 :(得分:0)
这是我的配置:
<VirtualHost *:12665>
ServerName subdomain.example.com
DocumentRoot /path
WSGIScriptAliasMatch ^/([^/]+) /sites/$1/httpd/django.wsgi
<DirectoryMatch ^/sites/[^/]+/httpd>
Order deny,allow
Allow from all
</DirectoryMatch>
</VirtualHost>