mod_wsgi覆盖Apache上的虚拟主机?

我有一个工作的Django应用程序托pipe在我的linode(Fedora 15)上,我也试图在那里托pipe一个基于php的网站。 我正在使用基于名称的虚拟主机来redirect基于主机名称的请求,但由于某种原因,每个请求都将转到Django应用程序。 我在想也许mod_wsgi重写一些默认值? 或者,也许我的虚拟主机语法错误(我试过DocumentRoot和无引号)? 这里是我的httpdconfiguration文件的相关部分:

Name VirtualHost *:80 <VirtualHost *:80> ServerName pollvaultr.com ServerAlias www.pollvaultr.com WSGIDaemonProcess pollvaultr.com user=apache group=apache WSGIProcessGroup pollvaultr.com WSGIScriptAlias / "/var/www/html/PollVaultr/wsgi.py" Alias /static/ "/var/www/html/static/" <Directory "/var/www/html/static"> Order allow,deny Allow from all </Directory> <Directory "/var/www/html/PollVaultr"> <Files "wsgi.py"> Order allow,deny Allow from all </Files> </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "/var/www/catfacts/" ServerName lexiross.com ServerAlias www.lexiross.com </VirtualHost> 

这是我的wsgi.py脚本:

 import os, sys sys.path.append('/var/www/html') sys.path.append('/var/www/html/PollVaultr') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "PollVaultr.settings") import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 

运行httpd -e DEBUG不会显示任何错误。 这是我的error_log文件的尾部:

 [Fri Feb 24 20:36:42 2012] [info] mod_wsgi (pid=5893): Create interpreter 'lexiross.com|'. [Fri Feb 24 20:36:42 2012] [info] mod_wsgi (pid=5893): Adding '/var/www/html/' to path. [Fri Feb 24 20:36:42 2012] [info] [client 140.247.248.217] mod_wsgi (pid=5893, process='', application='lexiross.com|'): Loading WSGI script '/var/www/html/PollVaultr/wsgi.py'. 

任何想法可能会发生什么? mod_wsgi绝对不应该处理对lexiross.com的请求 – 为什么这些请求不会到达备用文档根目录? 我还要提一下,这是我第一次做系统pipe理工作,所以我很新! 谢谢。

如果您没有正确设置第二个虚拟主机,或者没有find第二个虚拟主机,那么Apache将回退到发送configuration中find的第一个虚拟主机的请求。

虚拟主机是否在同一个文件中,不同的文件? 如果在不同的文件和站点的可用目录中,是否真的启用了第二个站点以便链接到启用站点?

尝试将语法错误添加到第二个虚拟主机以确保正在读取文件。

在示例中也修复你的“NameVirtualHost”指令,除非这是你的问题。 不应该有一个空间。