我有一个 VPS(Ubuntu 10.04),它托管多个域,其中一个是 CodeIgniter (PHP) Web 应用程序。其他的只是静态网站,不需要花哨的后端语言。
好吧,我正在开始一个新项目,想使用 Django。我已经安装了 Django,在 Apache2 中启用了 mod_wsgi,但是当我在文档,它似乎覆盖了我现有的 Apache2 配置,并向我的所有域提供了 Django 欢迎页面。我的 httpd.conf 文件应该是什么样子,才能让它不覆盖我的所有域。
答案1
如果您不想将其安装在网站的根目录,那么您可以将其安装在子 URL 上。
WSGIScriptAlias /suburl /path/to/mysite.com/mysite/wsgi.py
或者,如果希望将其名义上安装在网站的根目录,但要让 PHP URL 优先,请使用配置中说明的 AddHandler/mod_rewrite 方法:
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive
或者按照其他答案中的建议使用不同的 VirtualHost 和 ServerName。
答案2
但当我迈出第一步时 文档,它似乎覆盖了我现有的 Apache2 配置并向我的所有域提供了 Django 欢迎页面。
将其添加到单独的虚拟主机,不要附加到主配置文件(httpd.conf
):
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /path/to/mysite.com/mysite
ServerName django.domain.com
WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
WSGIPythonPath /path/to/mysite.com
<Directory /path/to/mysite.com/mysite>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>