我最近编写了一个基于 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)
- 包含内部服务器错误信息的 IIS 日志文件在哪里?
- 我是否必须采用 Rewrite ISAPI 过滤器才能在 IIS 上使用 web.py?
- 我是否需要使用 WSGI-ISAPI 桥接器才能在 IIS 上使用 web.py?
- 以前有人做过这个吗?
此主题提到使用破解版的 flup 来避免创建套接字,我已经这样做了,但无济于事。
答案1
以下是一些信息: http://support.microsoft.com/kb/145661
以下是一个建议: http://support.microsoft.com/kb/238788
这是一个错误修复: http://support.microsoft.com/kb/884764
如果你正在运行 IIS7,(你并没有真正指定),最后一个可能可以被忽略