将python isapi-wsgi模块分配给iis 7.5 web子应用程序

时间:2012-11-08 19:20:43

标签: python iis-7 wsgi isapi-wsgi

我有一个IIS 7.5 Web服务器使用isapi-wsgi模块运行python网站。由于该网站被绑定到80端口,我宁愿让python网站在该网站的附加应用程序下运行。

生成相应isapi模块的代码如下所示

import isapi_wsgi

def install_virtual_dir():
    import isapi.install
    params = isapi.install.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 = [isapi.install.ScriptMapParams(Extension="*", Flags=0)]
    vd = isapi.install.VirtualDirParameters(
        Server="dsh",
        Name=site_root,
        Description="CherryPy Application Stable",
        ScriptMaps=sm,
        ScriptMapUpdate="end",
        )
    params.VirtualDirs = [vd]
    isapi.install.HandleCommandLine(params)


if __name__ == '__main__':
    # If run from the command-line, install ourselves.
    install_virtual_dir()

不幸的是,模块无法注册相应的dll导致错误

ItemNotFound: No web sites match the description 'dsh'

虽然我已将应用程序'dsh'添加到网站。像'Website / dsh'这样的东西也不起作用。

是否有人遇到过同样的问题并且有解决方案?

1 个答案:

答案 0 :(得分:1)

如果有人遇到同样的问题,我从来没有解决过这个问题,我只找到一个解决方法,就是简单地评论,从而不使用该行

 params.VirtualDirs = [vd]

而是手动将生成的dll添加到IIS中的处理程序映射。