我如何configuration一个Django网站来使用Apache 2.4 VirtualHosts?

我最近开始开发Django网站,我想用mod_wsgi和Apache将它们部署在CentOS VPS上。

我遵循这个指南 ,它完美的工作,但我想同时运行多个Django网站,所以我试图创build多个虚拟主机内的一个适当的configuration文件,并出现了问题。

<VirtualHost the.ip.of.server:80> ErrorLog /root/praxis.error.log Alias /static /root/Praxis/static <Directory /root/Praxis/static> Require all granted </Directory> <Directory /root/Praxis/Praxis> <Files wsgi.py> Require all granted </Files> </Directory> WSGIDaemonProcess Praxis python-path=/root/Praxis:/root/Env/Praxis/lib/python2.7/site-packages WSGIProcessGroup Praxis WSGIScriptAlias /praxis /root/Praxis/Praxis/wsgi.py </VirtualHost> 

如果我删除了VirtualHost的开关标签,网站将按预期工作,但如果我保留这些标签,我将不断收到404错误。

我真的不明白为什么一切工作正常,只有没有标签。

我也尝试在基于IP的虚拟主机和基于名称的虚拟主机之间切换,但没有任何改变。

这里还有wsgi.py

wsgi.py

 import os from django.core.wsgi import get_wsgi_application sys.path.append('/root/Praxis/Praxis') os.environ['PYTHON_EGG_CACHE'] = '/root/Praxis/.python-egg' os.environ['DJANGO_SETTINGS_MODULE'] = 'Praxis.settings' application = get_wsgi_application() 

在我的httpd.conf文件中,我也有:

 Listen 80 ServerName ip.to.the.server #without port specified 

 #NameVirtualHost *:80 <-- THIS IS A COMMENT RIGHT NOW 

谢谢大家的努力,希望有人能够帮助我,我正在为此苦苦挣扎! 感谢你们。