English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

FastCGI do Flask

O FastCGI é outra opção de implantação do aplicativo Flask no servidor web (como nginx, lighttpd e Cherokee).

Configurar o FastCGI

Primeiro, é necessário criar o arquivo do servidor FastCGI, por exemplo, o nome dele é: yourapplication.fcgiC .

# Nome do arquivo: example.py
# Copyright: 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data: 2020-08-08
from flup.server.fcgi import WSGIServer
 from yourapplication import app
 if __name__ == '__main__':
     WSGIServer(app).run()

O nginx e versões mais antigas do lighttpd precisam passar explicitamente um socket para se comunicar com o servidor FastCGI. É necessário passar o caminho para o socket do WSGIServer.

# Nome do arquivo: example.py
# Copyright: 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data: 2020-08-08
WSGIServer(application, bindAddress = '/caminho/para/fcgi.sock').run()

Configurar o Apache

Para a configuração básica do Apache, .fcgi O arquivo será exibido na URL do seu aplicativo, por exemplo http://example.com/suaaplicação.fcgi/hello/Existem várias maneiras de configurar o aplicativo para que o yourapplication.fcgi não apareça na URL.

# Nome do arquivo: example.py
# Copyright: 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data: 2020-08-08
<VirtualHost> *>
    ServerName example.com
    ScriptAlias / /caminho/para/suaaplicação.fcgi/
 </VirtualHost>

Configurar o lighttpd

A configuração básica do lighttpd parece assim -

# Nome do arquivo: example.py
# Copyright: 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data: 2020-08-08
fastcgi.server = ("/suaaplicação.fcgi" => ((
    "socket" => "/tmp/suaaplicação-fcgi.sock",
    "bin-caminho" => "/var/www/suaaplicação/suaaplicação.fcgi",
    "check-local" => "disable",
    "max-procs" => 1
 )))
 alias.url = (
    "/static/" => "/caminho/para/sua/static"
 )
 url.rewrite-once = (
    "^(/static($|/.*))$" => "$"1",
    "^(/.*)$" => "/suaaplicação.fcgi$1"
 )

Lembre-se de ativar FastCGI, alias e módulo de reescrita. A configuração associará o aplicativo a/suaaplicação。