Pular para o conteúdo principal

Introdução

  • Este artigo guia você pelo processo de uso do Gunicorn, um servidor HTTP WSGI para Python.
  • Antes de começarmos, certifique-se de que você tem o Python e o Gunicorn instalados em seu ambiente. Você pode instalar o Gunicorn usando o seguinte comando:
pip install gunicorn

Uso básico

Para rodar uma aplicação web Python usando o Gunicorn, você precisa ter uma aplicação WSGI como Flask, Django ou algum outro framework.
Depois que sua aplicação estiver pronta, você precisa saber o nome do módulo e o nome da variável que contém o objeto da aplicação WSGI.
Por exemplo, se você tiver uma aplicação Flask em um arquivo chamado app.py e a instância do Flask se chamar app, você pode executá-la com o Gunicorn usando o seguinte comando:
python -m gunicorn --bind 0.0.0.0:80 app:app
Neste comando:
  • python -m gunicorn executa o Gunicorn como um módulo Python.
  • --bind 0.0.0.0:80 faz o Gunicorn escutar em todas as interfaces de rede na porta 80.
  • app:app especifica o nome do módulo (app) e o nome da variável (app) que contém o objeto da aplicação WSGI.

Opções adicionais

O Gunicorn fornece diversas opções para personalizar seu comportamento. Aqui mostraremos algumas delas.

Workers

  • --workers <número>
Essa opção define o número de processos workers responsáveis por lidar com as requisições. Geralmente utiliza-se de 2 a 4 workers por núcleo da CPU.
Você pode calcular o número de workers utilizando a fórmula: (2 x $num_cores) + 1.

Name

  • --name <nome>
  • -n <nome>
Essa opção define o nome do processo para o Gunicorn.

Worker-class

  • --worker-class <classe>
  • -k <classe>
Essa opção define o tipo de worker a ser usado. O padrão é sync, mas você também pode usar gevent, eventlet, tornado ou outros tipos de workers.

Paste

  • --paste <arquivo_de_config>
Essa opção permite carregar um arquivo de configuração PasteDeploy.
Isso é útil para frameworks como Pyramid e TurboGears, que utilizam arquivos PasteDeploy.

Extras

O Gunicorn possui muitas outras opções e recursos que você pode explorar na documentação oficial.

Arquivo de configuração

  • Você também pode criar um arquivo de configuração para definir opções do Gunicorn. Esse arquivo pode estar no formato Python e ter o nome gunicorn.config.py.\
gunicorn.config.py
import multiprocessing

bind = "0.0.0.0:80"
workers = multiprocessing.cpu_count() * 2 + 1

Gostou desse artigo?

  • Criamos este conteúdo com o máximo de cuidado para oferecer a melhor ajuda possível. Se o artigo contribuiu de alguma forma, valorize nosso trabalho! Deixe sua avaliação e ajude-nos a entender o que é mais importante para você.