如何使用mod_wsgi部署多个django 1.6项目

时间:2014-05-25 17:58:15

标签: python django apache nginx subdomain

我是关于Django部署的新手,我实际上尝试在我的服务器中部署我的第一个应用程序,但我希望在子域中执行此操作,并且在将来,在其他子域中部署更多应用

是否存在为Django 1.6执行此操作的任何指南?

我已经看到很多博客使用mod_wsgi部署Django但是已经很老了(2010年,2011年,2012年等)并且仅用于部署一个应用程序。

我也看到有些人使用虚拟主机而其他人在没有虚拟主机的情况下使用httpd配置,这让我很困惑。

如果我使用GUnicorn和Nginx会更容易吗?

哪种解决方案更好?

Centos 6.5
Python 2.7 
Django 1.6.2 

这是我的配置:

的httpd.conf

NameVirtualHost *:80

holding.conf

<VirtualHost *:80>

     ServerName www.myserver.com
     ServerAlias www.myserver.com/holding

     DocumentRoot /var/www/html/holding/src
     ErrorLog /var/www/html/holding/log/holding.log
     CustomLog /var/www/html/holding/log/access.log combined
     ServerAdmin helio.gutierrez@myserver.com

     WSGIScriptAlias / /var/www/html/holding/src/wsgi.py


     Alias /robots.txt /var/www/html/holding/src/robots.txt
     Alias /favicon.png /var/www/html/holding/src/static/ico/favicon.png
     Alias /static/admin/ /usr/local/lib/python2.7/site-packages/django/contrib/admin/static/admin
     Alias /static/ /var/www/html/holding/src/static
     Alias /media/ /var/www/html/holding/src/media

     <Directory /var/www/html/holding/src>
         Order allow,deny
         Allow from all
     </Directory>

     <Directory /var/www/html/holding/src/media>
     Order deny,allow
         Allow from all
     </Directory>

     <Directory /var/www/html/holding/src/static>
         Order deny,allow
         Allow from all
     </Directory>

</VirtualHost>

wsgi.py

import os, sys
sys.path.append('/usr/local/lib/python2.7')
sys.path.append('/usr/local/lib/python2.7/site-packages/django')

sys.path.append('/var/www/html/holding')
sys.path.append('/var/www/html/holding/src')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "src.settings")

#from django.core.wsgi import get_wsgi_application
#application = get_wsgi_application()

from django.core.handlers.wsgi import WSGIHandler

application = WSGIHandler()

1 个答案:

答案 0 :(得分:0)

这是一个past Stack Overflow post,其中有一个添加多个网站的示例。

从2009年开始,它应该仍然有效。

我个人使用ugingi和nginx,但是gunicorn也很容易设置。