English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
FastCGIは、Webサーバー(例えばnginix、lighttpd、Cherokee)上でFlaskアプリケーションをデプロイするための別のオプションです。
まず、FastCGIサーバーファイルを作成する必要があります。例えば、ファイル名は以下の通りです: yourapplication.fcgiC
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ja.oldtoolbag.com # Date : 2020-08-08 from flup.server.fcgi import WSGIServer from yourapplication import app if __name__ == '__main__': WSGIServer(app).run()
nginxや古いバージョンのlighttpdでは、FastCGIサーバーと通信するために明示的にソケットを渡す必要があります。WSGIServerのソケットにパスを渡します。
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ja.oldtoolbag.com # Date : 2020-08-08 WSGIServer(application, bindAddress = ''/path/to/fcgi.sock)。run()
基本的なApacheデプロイメントの場合、 .fcgi ファイルは、以下のURLに表示されます、例えばhttp://example.com/yourapplication.fcgi/hello/アプリケーションを設定する方法がいくつかあります。yourapplication.fcgiがURLに表示されないようにします。
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ja.oldtoolbag.com # Date : 2020-08-08 <VirtualHost> *> ServerName example.com ScriptAlias / /path/to/yourapplication.fcgi/ </VirtualHost>
lighttpdの基本的な設定は以下のようになります -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : ja.oldtoolbag.com # Date : 2020-08-08 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。