| 关键词: nbsp Django python isapi 运行 wsgi WebDjango SETTINGS install 网站 |
之前整合过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: [python] view plaincopyimport 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 。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|