Apache-2.2

如何配置 Apache2 以同時在多個域上託管 Django 和 PHP?

  • September 5, 2012

我有一個託管多個域的 VPS (Ubuntu 10.04),其中一個是 CodeIgniter (PHP) Web 應用程序。其他只是靜態網站,不需要花哨的後端語言。

好吧,我正在開始一個新項目並想使用 Django。我安裝了 Django,在 Apache2 中啟用了 mod_wsgi,但是當我在文件中執行第一步時,它似乎覆蓋了我現有的 Apache2 配置,並為我的所有域提供了 Django 歡迎頁面。我的 httpd.conf 文件應該是什麼樣子,這樣它就不會超過我的所有域。

如果您不想將它安裝在網站的根目錄,那麼您可以將它安裝在子 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 。

但是當我在文件上執行第一步時 ,它似乎覆蓋了我現有的 Apache2 配置並將 Django 歡迎頁面提供給我的所有域。

將其添加到單獨的虛擬主機中,不要附加到您的主配置文件(httpd.conf):

<VirtualHost *:80>
   ServerAdmin youremail@domain.com
   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>

引用自:https://serverfault.com/questions/424047