我是使用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.
答案 0 :(得分:1)
您无法通过WSGI为该Django网站提供该配置中的任何内容:您错过了WSGIScriptAlias系列(请参阅the documentation:
List
请注意,你不应该把东西放在/ var / www;而且您也不需要创建自己的WSGI文件,Django会在您创建项目时为您创建一个。