使用mod_wsgi在apache上部署多个django项目

时间:2013-01-05 05:17:16

标签: django apache web-applications mod-wsgi

我正在尝试使用守护进程模式在mod_wsgi上在Apache上部署2个django项目,但是现在当我尝试加载页面时,我只得到404。

这两个站点都托管在同一台服务器上,两者都在端口80上。可用站点中的两个条目如下:

<VirtualHost *:80>
    ServerAdmin admin@site1.com
    ServerName site1.com
    ServerAlias www.site1.com
    DocumentRoot /var/www/site1.com
    ErrorLog /srv/www/site1.com/logs/error.log
    CustomLog /srv/www/site1.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@site2.org
    ServerName site2.org
    ServerAlias www.site2.org
    DocumentRoot /var/www/site2.org
    ErrorLog /srv/www/site2.org/logs/error.log
    CustomLog /srv/www/site2.org/logs/access.log combined
</VirtualHost>

在我的httpd.conf中,

WSGIDaemonProcess site1.com python-path=/usr/local/www/site1/
WSGIProcessGroup site1.com
WSGIScriptAlias site1.com/blog /usr/local/www/site1/site1/wsgi.py

WSGIDaemonProcess site2.org python-path=/usr/local/www/site2/
WSGIProcessGroup site2.org
WSGIScriptAlias site2.org/ /usr/local/www/site2/site2/wsgi.py

<Directory /usr/local/www/site1/site1>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

<Directory /usr/local/www/site2/site2>
<Files wsgi.py>
Order deny, allow
Allow from all
</Files>
</Directory>

我从Django文档中取出httpd.conf内容,但它仍然无法正常工作。 site1.com/blog给了我一个404,而site2.org给了我一个通用的Apache filetree。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

如果你有一个site-available目录,你就是在Debian派生的发行版上,你根本就不应该编辑httpd.conf。您放入httpd.conf的所有内容都应该放在site-available中的相关文件中。