8

私は最近、かなりの数の小さなwsgiアプリを作成しており、特定のアプリを実行するように事前構成された、分散可能なWebサーバーを探しています。wsgiアプリを提供できるtwistedやcherrypyのようなものがあることは知っていますが、http範囲ヘッダーを使用して大きなファイルを「疑似ストリーミング」する機能という重要な機能が欠けているようです。BSDまたは同様のライセンスの下で利用可能なWebサーバーはありますか?これは、wsgiサーバー(cherrypyなど)へのプロキシとhttpを使用した大きなファイルの提供の両方が可能な主要なプラットフォームのいずれかでスタンドアロンの実行可能ファイルとして配布できます。範囲ヘッダー?

4

2 に答える 2

5

Lighttpd には BSD ライセンスがあるため、必要に応じてバンドルできるはずです。

あなたはそれを小さなアプリ向けだと言っていますが、それは、小さな http サーバーによって提供される、小さなローカルの単一ユーザー Web インターフェイスを意味していると思いますか? その場合、すべての Python 実装が機能するはずです。py2exe のようなものを使用してパッケージ化するだけです (実際、Python プログラムのパッケージ化に関する質問が SO で少し前にありました)。

更新、再: 範囲ヘッダー: デフォルトの 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 に答える