我有一个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'这样的东西也不起作用。
是否有人遇到过同样的问题并且有解决方案?
答案 0 :(得分:1)
如果有人遇到同样的问题,我从来没有解决过这个问题,我只找到一个解决方法,就是简单地评论,从而不使用该行
params.VirtualDirs = [vd]
而是手动将生成的dll添加到IIS中的处理程序映射。