IIS7部署django网站指南
运行环境:
windows Server 2008 R2 Enterprise (64位)
IIS 7.5
IIS 6.0 兼容性管理
SQL Server 2005
注: IIS 6.0兼容性管理必须安装
所需软件:
请到官方网站下载,所有的安装包都是32位的。
window installer是指exe的安装包, 而django,django-pyodbc,isapi_wsgi请下载python的安装包
python安装包其实就是python的源码,通常包里包含一个setup.py的安装文件,在命令行输入:python setup.py install即可。
注意,因为window server 2008对安全管理比较严格,所以,命令行安装时建议以管理员身份运行,方法如下:
在搜索框输入cmd
同时按CTRL+SHIFT+ENTER,出现提示框选择“是"
安装步骤:
1.安装python27
2.安装setup-tools, pywin32, pyodbc , django, django-pyodbc, isapi_wsgi. (安装很简单,这都不会你就别玩什么python了)
3. 用mt.exe工具修改pyodbc.pyd文件的manifest.(请参考我的另一篇文章http://blog.csdn.net/omage/article/details/7320918)
( Mt.exe是用于生成符号文件和目录清单的工具,在Windows Software Development Kit (SDK)里有,如果你安装了Visual Studio,通常是在
Program Files\Microsoft SDKs\Windows\v6.0A\bin目录。这个步骤是因为由于pyodbc的一个小bug所以不得已而为之。)
方法如下:
(1)以管理员身份运行命令行,进入mt.exe所在的目录
(2) 输入命令:
mt.exe -inputresource:c:\windows\syswow64\python27.dll;#2 -outputresource:D:\Python27\Lib\site-packages\pyodbc.pyd;#2
4. 在IIS7管理器上添加网站
5. 确认启用32位应用程序为TRUE
6.使用脚本部署你的django 网站(请参考另一篇博文http://blog.csdn.net/omage/article/details/7291403)
创建一个部署脚本 wsgi_deploy.py, 内容如下
import os, sys
sys.path.append('D:\\WebDjango')
sys.path.append('D:\\WebDjango\\mysite')
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
import isapi_wsgi
# The entry points for the ISAPI extension.
def __ExtensionFactory__():
return isapi_wsgi.ISAPISimpleHandler(application)
if __name__=='__main__':
# If run from the command-line, install ourselves.
from isapi.install import *
params = ISAPIParameters()
# Setup the virtual directories - this is a list of directories our
# extension uses - in this case only 1.
# Each extension has a "script map" - this is the mapping of ISAPI
# extensions.
sm = [
ScriptMapParams(Extension="*", Flags=0)
]
vd = VirtualDirParameters(Name="mysite",
Description = "ISAPI-WSGI ISAPISimpleHandler Django mysite",
ScriptMaps = sm,
ScriptMapUpdate = "replace"
)
params.VirtualDirs = [vd]
HandleCommandLine(params)
以管理员运行命令行窗口,在脚本目录下输入: python wsgi_deploy.py install --server WebDjango
(注意WebDjango即为刚才创建的网站),脚本运行成功后,会在IIS创建mysite的app以及通配符脚本映射。
7. 打开浏览器,试试看你的网站是否可以打开了,WOW,成功了耶。