Django和apache用wsgi整合
Apache和mod_wsgi配置
1.在apache主配置文件里添加以下内容
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "/home/djpro/mysite/as/django.wsgi"
<Directory "/home/djpro/mysite">
Order Deny,Allow
Allow from all
</Directory>
django.wsgi这个文件是需要新建的,文件名和目录应该和上边配置文件中的位置对应
2. 新建django.wsgi文件
根据第一步里配置文件django.wsgi信息创建该文件,文件内容如下:
# -*- coding: utf-8 -*-
import os
import sys
current_dir = os.path.dirname(__file__)
if current_dir not in sys.path: sys.path.append(current_dir) #将当前目录自动加入到python的搜索路径
sys.path = sys.path + ['/home/djpro/mysite'] #将django项目目录加入python搜索路径
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' #这个settings就是指项目目录下的setting.py文件.
os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs' #指定解压egg文件的cache目录
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
3. django项目中的setting.py文件
至此配置已经完成了,你可以通过浏览器访问 http://192.168.0.1 ,不出意外,应该能访问到正常页面了
当然你也可以通过虚拟主机的方式来配置
mod_wsgi是一个开源项目,具体配置选项和说明请参考:mod_wsgi参考
【附:注意运行apache的用户和项目所在目录的权限】