win7下搭建IIS7+Django开发环境

之前整合过IIS6与tomcat共享80端口,因为受服务器所限,只能在Windows下开发,因此想为以后python web 也能够共享80端口坐下准备。直接转入正题:

一、环境配置:

1.win7平台+IIS7+Django1.6

2.用到的软件包:

Django-1.6.11.tar.gz

django-pyodbc-0.2.8.tar.gz

isapi_wsgi-0.4.2.zip

pyodbc-3.0.7.win32-py2.7.exe

pywin32-218.win32-py2.7.exe

setuptools-0.6c11.win32-py2.7.exe

以上这些我都打包到一个压缩文件,供大家下载使用。

二、环境搭建:

1.安装 Python2.7、Django1.6(安装方法网上有很多,大家查一下,肯定没问题);

2.分别安装上面三个exe文件,都是傻瓜式安装;

3.安装isapi和django-pyodbc需要解压后进入文件夹后运行“python setup.py install”即可;

4.用django创建一个网站"python django-admin.py startproject pytest"

5.在IIS中创建网站WebDjango,网站物理路径为:D:\develop\python_web\pytest

6.生成isapi的DLL:

import os, sys

sys.path.append('D:\\develop\\python_web')

sys.path.append('D:\\develop\\python_web\\pytest')

os.environ['DJANGO_SETTINGS_MODULE'] = 'pytest.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)
上面代码中sys.path.append()这两行就是添加网站路径,VirtualDirParameters中的name=‘mysite’为虚拟路径的名字,可以随意命名;本次测试的python web的app为"pytest"。

以管理员运行命令行窗口,在脚本目录下输入:  python wsgi_deploy.py install --server WebDjango

(注意:一定要以管理员权限运行,否则会出错!)

运行成功后显示:


此时IIS中的WebDjango显示为:


7.配置成功后,在浏览器中输入完网站,即可看到网站正常运行:


三、注意点:

如果网站运行时出现:

可以在命令行输入: python -m win32traceutil     便可以输出isapi_wsgi模块输出的错误堆栈信息

通常错误都是出现在路径方面。如类似于

ImportError: Could not import settings 'mysite.settings' (Is it on sys.path?): No module named mysite.settings 这样的问题。

这样的情况,需要去找到上述的部署脚本wsgi_deploy.py,去修改为正确的配置,然后记住需要先运行

wsgi_deploy.py  remove --server WebDjango (WebDjango为IIS中的网站名)


后再运行wsgi_deploy.py  install --server WebDjango


参考资料:1.http://www.cnblogs.com/lhj588/archive/2012/05/28/2520890.html

2.http://blog.csdn.net/omage/article/details/7291403

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值