我最近一直在编写相当多的小型 wsgi 应用程序,并且正在寻找一个可以分发、预配置以运行特定应用程序的 Web 服务器。我知道有诸如 twisted 和 cherrypy 之类的东西可以提供 wsgi 应用程序,但它们似乎缺少我的一个关键功能,那就是使用 http 范围标头“伪流”大文件的能力。是否有基于 BSD 或类似许可的 Web 服务器可用,它可以作为独立可执行文件分发在任何主要平台上,它能够代理到 wsgi 服务器(如cherrypy 等)并使用 http 提供大文件范围标题?
问问题
2241 次
2 回答
5
Lighttpd 具有 BSD 许可证,因此您应该可以根据需要捆绑它。
你说它适用于小型应用程序,所以我想这意味着小型、本地、单用户 Web 界面由小型 http 服务器提供服务?如果是这样,那么任何 python 实现都应该工作。只需使用 py2exe 之类的东西来打包它(事实上,不久前这里有一个关于打包 python 程序的问题)。
更新,重新:范围标头:默认的 python http 服务器可能不支持您想要的范围标头,但是编写自己的处理程序或小型 wsgi 应用程序来执行逻辑非常容易,特别是如果您所做的只是流式传输一份文件。不会有太多行:
def stream_file(environ, start_response):
fp = open(base_dir + environ["PATH_INFO"])
fp.seek(environ["HTTP_CONTENT_RANGE"]) # just an example
start_response("200 OK", (('Content-Type', "file/type")))
return fp
于 2009-02-02T00:01:34.307 回答
3
Apache + mod_wsgi 有什么问题?Apache 已经是多平台的;它通常已经安装(Windows 除外)。
您可能还想查看 lighttpd,有一些关于将其配置为与 WSGI 一起使用的博客。见http://cleverdevil.org/computing/24/python-fastcgi-wsgi-and-lighttpd和http://redmine.lighttpd.net/issues/show/1523
于 2009-01-31T17:42:49.267 回答