Flask-fastcgi

提供:Dev Guides
移動先:案内検索

フラスコ– FastCGI

FastCGIは、nginix、lighttpd、CherokeeなどのWebサーバー上のFlaskアプリケーションの別の展開オプションです。

FastCGIの構成

最初に、 FastCGI サーバーファイルを作成する必要があります。 yourapplication.fcgi と呼びましょう。

from flup.server.fcgi import WSGIServer
from yourapplication import app

if __name__ == '__main__':
   WSGIServer(app).run()
*nginx* および *lighttpd* の古いバージョンでは、 *FastCGI* サーバーと通信するためにソケットを明示的に渡す必要があります。 それが機能するためには、ソケットへのパスを *WSGIServer* に渡す必要があります。
WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()

Apacheの構成

基本的なApacheデプロイメントの場合、。fcgi *ファイルはアプリケーションURLに表示されます。 *example.com/yourapplication.fcgi/hello/yourapplication.fcgi がURLに表示されないようにアプリケーションを構成する方法はいくつかあります。

<VirtualHost *>
   ServerName example.com
   ScriptAlias//path/to/yourapplication.fcgi/
</VirtualHost>

lighttpdの構成

*lighttpd* の基本設定は次のようになります-
fastcgi.server = ("/yourapplication.fcgi" => ((
   "socket" => "/tmp/yourapplication-fcgi.sock",
   "bin-path" => "/var/www/yourapplication/yourapplication.fcgi",
   "check-local" => "disable",
   "max-procs" => 1
)))

alias.url = (
   "/static/" => "/path/to/your/static"
)

url.rewrite-once = (
   "^(/static($|/.*))$" => "$1",
   "^(/.*)$" => "/yourapplication.fcgi$1"
)
*FastCGI* 、エイリアス、および書き換えモジュールを必ず有効にしてください。 この構成は、アプリケーションを */yourapplication* にバインドします。