Flask FastCGI

2022-08-16 16:40 更新

FastCGI是在nginx,lighttpd和Cherokee等web服務(wù)器上的Flask應(yīng)用程序的另一個(gè)部署選項(xiàng)。

配置FastCGI

首先,您需要?jiǎng)?chuàng)建FastCGI服務(wù)器文件。讓我們稱之為yourapplication.fcgiC。

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

if __name__ == '__main__':
   WSGIServer(app).run()

nginx和舊版本的lighttpd需要顯式傳遞套接字以與FastCGI服務(wù)器通信。

為此,您需要將套接字的路徑傳遞到WSGIServer。

WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()

配置Apache

對(duì)于基本的Apache部署,您的.fcgi文件將出現(xiàn)在您的應(yīng)用程序URL中。例如:example.com/yourapplication.fcgi/hello/有幾種方法可以配置您的應(yīng)用程序,以使yourapplication.fcgi不會(huì)出現(xiàn)在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"
)

請(qǐng)記住啟用FastCGI,alias和rewrite模塊。此配置將應(yīng)用程序綁定到/yourapplication。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)