将 Web.py 作为 IIS CGI 脚本运行

将 Web.py 作为 IIS CGI 脚本运行

我最近编写了一个基于 web.py 的独立 Web 服务。由于不可预见的情况,该服务必须通过 IIS 运行。我听说可以在 IIS 中将 web.py 作为 CGI 运行,但我在设置时遇到了麻烦。我可以运行 Python CGI 脚本,但当我尝试运行基于 web.py 的脚本时,会出现内部服务器错误。错误状态为:

CGI Error

The specified CGI application misbehaved by not returning a complete set of HTTP headers.

作为参考,脚本是:

import web
urls = (
   '/(.*)','hello'
)
class hello:
    def GET(self,name):
        i = web.input(times=1)
        if not name: name = 'world'
        for c in xrange(init(i.times)): print 'Hello, '+name+'!'
if __name__=="__main__":
    web.run(urls)
  1. 包含内部服务器错误信息的 IIS 日志文件在哪里?
  2. 我是否必须采用 Rewrite ISAPI 过滤器才能在 IIS 上使用 web.py?
  3. 我是否需要使用 WSGI-ISAPI 桥接器才能在 IIS 上使用 web.py?
  4. 以前有人做过这个吗?

此主题提到使用破解版的 flup 来避免创建套接字,我已经这样做了,但无济于事。

答案1

以下是一些信息: http://support.microsoft.com/kb/145661

以下是一个建议: http://support.microsoft.com/kb/238788

这是一个错误修复: http://support.microsoft.com/kb/884764

如果你正在运行 IIS7,(你并没有真正指定),最后一个可能可以被忽略

相关内容