0

werkzeugとpureを使用して記述されたWSGIアプリケーションでcssのような静的ファイルを提供する方法

python..フレームワークは使用されていません。

これは私のサーバーです。

    from gevent import pywsgi
from Index import application

import os
application = SharedDataMiddleware(application, {
    '/hello/template/': os.path.join(os.getcwd(), 'template')
})
print 'Serving on https://127.0.0.1:4000'
server = pywsgi.WSGIServer(('0.0.0.0', 4000), application,spawn=10000)

# to start the server asynchronously, call server.start()
# we use blocking serve_forever() here because we have no other jobs
server.serve_forever()

テンプレートは、cssや画像などの静的ファイルへのパスです。ただし、これはアプリケーションのみを提供し、静的ファイルは提供しません。geventで静的ファイルを提供する機能はありますか..?ドキュメントが役に立たなかった。

4

1 に答える 1

1

WSGI アプリケーションから静的ファイルを直接提供することは、CPU とメモリの両方のリソースを浪費し、スケーリングされません。

パブリックな静的ファイルの場合は、それらを直接提供するようにフロントエンド Web サーバーを構成する必要があります。

プライベートな静的ファイルの場合、アクセス制御を行い、WSGI アプリで応答ヘッダーを作成してから、実際にファイルの内容を送信するという面倒な作業をフロントエンド Web サーバーに任せることができます。X-Sendfile (Apache) または X-Accel-Redirect (Nginx) を見てください。

于 2012-12-19T10:05:34.587 に答える