我有一个 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 中的处理程序映射。
