Artigos sobre: Websites & APIs

Como hospedar aplicações Flask

  1. Pré-requisitos
  • Conta na Square Cloud: Crie sua conta via Página de Registro (E-mail ou GitHub).
  • Plano Ativo: É necessário um plano pago para realizar a hospedagem. Confira os preços aqui.



2. Configuração para Produção (Gunicorn)


Embora o Flask possua um servidor embutido (app.run()), ele não é adequado para produção. O Gunicorn permite que sua aplicação lide com múltiplas requisições simultâneas de forma eficiente.

Para que a Square Cloud direcione o tráfego corretamente, o Gunicorn deve ser configurado para ouvir na interface 0.0.0.0 e na porta 80.


Exemplo da Aplicação (app.py)

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Flask rodando em produção na Square Cloud!'

if __name__ == '__main__':
# O app.run só é usado localmente
app.run(host='0.0.0.0', port=80)



3. Realizando o Deploy


  1. Compactação: Crie um arquivo .zip com seu código fonte e o requirements.txt. Não inclua pastas de cache como __pycache__ ou ambientes virtuais (venv). O requirements.txt deve estar na raiz do projeto e contendo ao menos:
  flask
gunicorn
  1. Upload: No Dashboard da Square Cloud, clique em enviar nova aplicação.
  2. Publicação Web: No menu de envio, marque a opção "Publicar na Web".
  3. Subdomínio: Escolha o nome para o seu subdomínio gratuito (ex: minha-api.squareweb.app).
  4. Comando de Início Personalizado: Para utilizar o Gunicorn, você deve definir um comando de início personalizado no momento do envio (ou no arquivo de configuração squarecloud.app). Utilize o seguinte formato:
python -m gunicorn --bind 0.0.0.0:80 app:app
  • --bind 0.0.0.0:80: Expõe a aplicação na porta exigida pela plataforma.
  • app:app: Indica que o Gunicorn deve procurar o objeto app (o segundo "app") dentro do arquivo app.py (o primeiro "app").


4. Domínios Personalizados (Plano Standard+)


Usuários do plano Standard ou superior podem configurar domínios próprios:

  • Adicione seu domínio (ex: api.seusite.com) na aba Network.
  • A Square Cloud gerencia automaticamente o SSL/HTTPS, garantindo que sua comunicação seja criptografada sem custo adicional.



5. Dicas de Otimização


  • Workers: Se sua aplicação receber muito tráfego, você pode ajustar o número de workers no comando de início (ex: --workers 3).
  • Variáveis de Ambiente: Utilize a aba ENV no Dashboard para armazenar SECRET_KEY, chaves de API e URLs de banco de dados.
  • Logs: Monitore o terminal do Dashboard para identificar erros de inicialização ou exceções do Python em tempo real.

Atualizado em: 15/04/2026

Este artigo foi útil?

Compartilhe seu feedback

Cancelar

Obrigado!