转自:http://liluo.org/2010/05/win-apache-mod_wsgi-django-domain/
Python是落落的最爱,Django是Python web framework中的佼佼者,所以一直超爱。当然,Python web server也有N多选择,这里落落使用Apache+mod_wsgi来配置(也有用apache+mod_Python来配置的,不过貌似在Out中……)。如果有朋友是Google或者Baidu过来想了解下是怎样配置的,也许落落这篇博文可以帮到你。
首先讲下落落使用的软件版本:
Winxp
Apache(2.2,xampp1.7.3) 下载地址
django(1.1.1) 下载地址
mod_wsgi(mod_wsgi-win32-ap22py26-3.0 ) 下载地址
安装配置步骤:
1、 选择与自己python相匹配的mod_wsgi下载,重命名为mod_wsgi.so并丢到Apache安装目录里的modules 文件夹中。
2、 在Apache配置文件httpd.conf中,增加一行:
LoadModule wsgi_module modules/mod_wsgi.so
3、 配置域名
进入apache\conf\extra目录,在httpd-vhosts.conf 文件中添加以下内容:
ServerName codeluo.com #测试域名 ServerAlias www.codeluo.com #测试域名 DocumentRoot F:/htdocs WSGIScriptAlias / F:/htdocs/demo/conf/demo.wsgi Alias /static F:/htdocs/demo/static <Location "/static"> SetHandler None </Location> <Directory " F:/htdocs/demo/static"> Order Deny,Allow Allow from all </Directory> <Directory " F:/htdocs/demo/wsgi"> Order Deny,Allow Allow from all </Directory> <Directory "/usr/local/lib/site-packages/django/contrib/admin/media"> Order Deny,Allow Allow from all </Directory> Alias "/media" "/usr/local/lib/site-packages/django/contrib/admin/media" <Location "/media"> SetHandler None </Location> </VirtualHost>
*配置域名请确保
<1>C:\WINDOWS\system32\drivers\etc\hosts文件中添加”127.0.0.1 codeluo.com”(引号中的内容,其中codeluo.com可更换为你自己测试用的域名)
<2>apache\conf\extra目录httpd-vhosts.conf文件”#NameVirtualHost *:80”更改为NameVirtualHost *:80,即去掉前面的”#”。
4、 创建命名为demo(与之前配置命名相匹配)的项目,并在项目中新建conf文件夹,新建demo.wsgi文件,内容:
import os
import sys
sys.stdout = sys.stderr
from os.path import abspath, dirname, join
from site import addsitedir
from django.core.handlers.wsgi import WSGIHandler
sys.path.insert(0, abspath(join(dirname(__file__), "../")))
sys.path.insert(0, abspath(join(dirname(__file__), "http://www.cnblogs.com/")))
os.environ["DJANGO_SETTINGS_MODULE"] = "demo.settings " #your settings module
application = WSGIHandler()
*经落落测试,此文件中注释中不能使用中文,安全起见请勿使用非英文、数字之外字符。
5、重启apache,即可看到It worked!。