最小、独立、可分发、跨平台的web

2024-10-01 09:22:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我最近一直在写一些小的wsgi应用程序,并希望找到一个可以分布的,预配置来运行特定应用程序的web服务器。我知道有些东西像twisted和cherrypy可以为wsgi应用提供服务,但它们似乎缺少了一个关键功能,即使用http范围头“伪流”大文件的能力。在BSD或类似的许可证下是否有一个web服务器可以作为独立的可执行文件分发到任何一个主要平台上,它既可以代理到wsgi服务器(如cherrypy或类似的服务器),又可以使用http范围头提供大文件?在


Tags: 文件功能服务器web应用程序http可执行文件wsgi
2条回答

Lighttpd有一个BSD许可证,因此如果您愿意,您应该能够捆绑它。在

你说它是针对小型应用程序的,所以我想这意味着,小型的、本地的、单用户的web界面由一个小型http服务器提供服务?如果是这样,那么任何python实现都应该可以工作。只需使用像py2exe这样的东西来打包它(事实上,在不久前这里还有一个关于打包python程序的问题)。在

更新,回复:范围标题: 默认的pythonhttp服务器可能不支持您想要的范围头,但是编写自己的处理程序或一个小的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

Apache+mod\wsgi有什么问题?Apache已经是多平台的;它通常已经安装(除了在Windows中)。在

您可能还想看看lighttpd,有一些博客介绍如何将它配置为与WSGI一起工作。见http://cleverdevil.org/computing/24/python-fastcgi-wsgi-and-lighttpd,和http://redmine.lighttpd.net/issues/show/1523

相关问题 更多 >