使用mod_wsgi在apache上运行django webapp

时间:2015-05-23 07:19:10

标签: python django apache mod-wsgi

我是使用apache和mod_wsgi的新手。但我确实没有django的经验,所以从tutorials我尝试使用mod_wsgi通过apache webserver运行django app。 我在/var/www/中创建了mysite 然后在mysite/application我创建了application.wsgi ...

import os
import sys

sys.path.append('/var/www/mysite/application')

os.environ['PYTHON_EGG_CACHE'] = '/var/www/mysite/.python-egg'

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

并在/ etc / httpd / sites-available中创建了名为mysite.conf的文件...

<VirtualHost *:80>
   ServerName mysite.com
   ServerAdmin id@somewhere.com
   ServerAlias mysite.com
   DocumentRoot /var/www/mysite/   
<Directory /var/www/mysite>
Options FollowSymLinks
AllowOverride None
  Order allow,deny
  Allow from all
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
</Directory>
WSGIDaemonProcess mysite processes=2 threads=15 display-name=%{GROUP}
WSGIProcessGroup mysite
</Virtualhost>

然后我跑了a2ensite mysite.conf,没有显示任何错误 然后在/etc/httpd/hosts/中添加了一行my-ipddress mysite.com
我向所有上述文件和文件夹chmod 777授予了/var/www/mysite的权限。现在,当我在浏览器上打开mysite.com时,我看到了django中的apahce默认页面。
我正在使用fedora 21.

1 个答案:

答案 0 :(得分:1)

您无法通过WSGI为该Django网站提供该配置中的任何内容:您错过了WSGIScriptAlias系列(请参阅the documentation

List

请注意,你不应该把东西放在/ var / www;而且您也不需要创建自己的WSGI文件,Django会在您创建项目时为您创建一个。