我有两个Django网站。一个是中转站,另一个是生产。我希望暂存站点在beta.ialexander.io
可见,生产站点在ialexander.io
可见。我将mod_wsgi
与Apache一起使用。以下是两个.conf
文件:
ialexander.conf
:
# WSGI Stuff
WSGIPythonPath /var/www/Ullmannite
<VirtualHost *:80>
# WSGI Stuff
WSGIScriptAlias / /var/www/Ullmannite/Ullmannite/wsgi.py
# Identification
ServerName ialexander.io
ServerAdmin Alexander2475914@gmail.com
# Public files
Alias /assets /var/www/Ullmannite/public
# Logs
ErrorLog ${APACHE_LOG_DIR}/iAlexander-Error.log
CustomLog ${APACHE_LOG_DIR}/iAlexander-Access.log combined
# Access
DocumentRoot "/var/www/Ullmannite/public"
<Directory "/var/www/Ullmannite/Ullmannite">
<Files "wsgi.py">
Require all granted
</Files>
</Directory>
<Directory "/var/www/Ullmannite/public">
Require all granted
</Directory>
</VirtualHost>
000-ialexander-staging.conf
:
# WSGI Stuff
WSGIPythonPath /var/www/Ullmannite-Staging
<VirtualHost *:80>
# WSGI Stuff
WSGIScriptAlias /beta /var/www/Ullmannite-Staging/Ullmannite/wsgi.py
# Identification
ServerName ialexander.io
ServerAdmin Alexander2475914@gmail.com
# Public files
Alias /assets /var/www/Ullmannite-Staging/public
# Logs
ErrorLog ${APACHE_LOG_DIR}/iAlexander-Staging-Error.log
CustomLog ${APACHE_LOG_DIR}/iAlexander-Staging-Access.log combined
# Access
DocumentRoot "/var/www/Ullmannite-Staging/public"
<Directory "/var/www/Ullmannite-Staging/Ullmannite">
<Files "wsgi.py">
Require all granted
</Files>
</Directory>
<Directory "/var/www/Ullmannite-Staging/public">
Require all granted
</Directory>
</VirtualHost>
我已经挣扎了好几个星期了。最初在000-ialexander-staging.conf
我有WSGIScriptAlias / /var/www/Ullmannite-Staging/Ullmannite/wsgi.py
和ServerName beta.ialexander.io
,但那没有给我我所需要的。我不记得到底发生了什么,因为这是两周前的事了。你知道吗
目前我禁用了000-ialexander-staging.conf
,因为它破坏了另一个(ialexander.conf
)。但是,当我启用000-ialexander-staging.conf
并访问http://ialexander.io/beta
时,我会看到生产站点。你知道吗
我知道有一个小问题,你必须有网站有WSGIScriptAlias
值的顺序。如果我有第一个WSGIScriptAlias
设置为/
在第二个之前,它会先发送那个。这就是我用前缀000-
命名000-ialexander-staging.conf
的原因。我想确保Apache首先读取这个,因为它的WSGIScriptAlias
值为/beta
。你知道吗
为什么会发生这些事情?我如何才能让生产站点在ialexander.io
返回,而让暂存站点在beta.ialexander.io
返回?你知道吗
下面是我在一个适用于Windows的
httpd.conf
文件中所做的操作:*注:
VirtualHost
之外没有WSGIPythonPath
如果存在,两个VirtualHost
不能有不同的python django配置(www.)ialexander.io
和beta.ialexander.io
没有使用virtualenv。(我不确定这是否会成为问题……)
相关问题 更多 >
编程相关推荐