toa*_*ngs 5 apache django mod-wsgi
在这里撕扯我的头发试图弄清楚为什么我的两个django项目没有被单独提供......似乎首先访问的静态文件成为两个项目的事实静态文件,或类似的效果.
我试图通过同一IP地址下的两个域名来服务两个项目(实际上是同一个原始项目的不同版本 - 具有不同的数据库和不同的物理位置).最初我在多个IP地址上尝试了虚拟主机(按端口区分),但是失败了.不幸的是 - 我使用具有不同域名的虚拟主机具有完全相同的问题.
Apache http.conf的virtualhost部分如下:
WSGIApplicationGroup %{GLOBAL}
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin shane.brown@gmail.com
ServerName www.toastprojects.tk
WSGIScriptAlias / "C:/Python27/sites/Adaptwater/adaptwater/wsgi.py"
Alias /static/ "C:/Python27/sites/Adaptwater/static/"
</VirtualHost>
<Directory "C:/Python27/sites/Adaptwater/static/">
Order deny,allow
Allow from all
</Directory>
<Directory "C:/Python27/sites/Adaptwater/adaptwater/">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
<VirtualHost *:80>
ServerAdmin shane.brown@gmail.com
ServerName toastprojects.power.on.net
WSGIScriptAlias / "C:/git_clones/adaptwater/adaptwater/adaptwater/wsgi.py"
Alias /static/ "C:/git_clones/adaptwater/adaptwater/static/"
</VirtualHost>
<Directory "C:/git_clones/adaptwater/adaptwater/static/">
Order deny,allow
Allow from all
</Directory>
<Directory "C:/git_clones/adaptwater/adaptwater/adaptwater/">
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Run Code Online (Sandbox Code Playgroud)
我为每个设置了wsgi.py(使用与特定项目位置相对应的绝对路径):
import os, sys
sys.path.append('C:/git_clones/adaptwater/adaptwater')
sys.path.append('C:/git_clones/adaptwater')
#os.environ.setdefault("DJANGO_SETTINGS_MODULE", "adaptwater.settings")
os.environ['DJANGO_SETTINGS_MODULE'] = "adaptwater.settings"
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)
通过dev服务器(以及使用nginx提供静态文件)在localhost上运行这些服务同时没有问题.假设我想一次访问一个站点,并重新启动Apache - 每个作品都是在外部以独奏方式提供服务.什么明显导致这个问题?
干杯,沙恩
更新:
在这一点上,我必须得出结论,由于mod_wsgi与windows平台的结合不太完美,我不想做的事情(我应该提到平台 - 在我的仓促中忽略 - windows 7 professional 64).我不能使用WSGIDaemonProcess,并且WSGIApplicationGroup必须设置为全局,并且从我能够从与此问题相关的讨论中收集到 - 这意味着我已经走到了尽头.
我已经设法为第二个项目提供服务,没有奇怪的设置杂交使用nginx和fastcgi代替......作为权宜之计.到目前为止,这个组合一直善待我.
服务于静态文件的nginx和传递给django dev服务器的代理的更加出色的选择也可以作为外部服务的并行安排.还没有同时尝试两个nginx/fastcgi服务版本的项目 - 但我会把它留作另一个令人敬畏的沮丧日的练习.
| 归档时间: |
|
| 查看次数: |
241 次 |
| 最近记录: |