Skip to main content
 首页 » 编程设计

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

2025年05月04日37zhwl

我有一个 IIS 7.5 网络服务器,它使用 isapi-wsgi 模块运行一个 python 网站。由于网站绑定(bind)到端口 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”添加到网站。 “网站/dsh”之类的东西也不起作用。

有没有人遇到同样的问题并有解决方案?

请您参考如下方法:

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

 params.VirtualDirs = [vd] 

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