
O FastAPI fala ASGI, e o servidor que o corre é o uvicorn. Num VPS, a receita de produção tem quatro peças: o uvicorn com alguns processos, um serviço do systemd que o mantém vivo, o nginx à frente com HTTPS, e a aplicação a ouvir só em 127.0.0.1. O básico (correr com uvicorn main:app) já está em correr uma aplicação Flask ou FastAPI; aqui fica o que faz dele um serviço a sério.
Do teste ao serviço
|
|
|
|
Os detalhes que fazem diferença
| Tema | O que saber |
| Endereço do visitante | Atrás do proxy, a API vê o IP do nginx. O uvicorn lê o X-Forwarded-For dos endereços que confia (--forwarded-allow-ips, por omissão só o próprio servidor, o que serve a um nginx local). |
| Documentação automática | O FastAPI publica /docs e /redoc. Para uma API privada, desligue-os: FastAPI(docs_url=None, redoc_url=None). |
| Tarefas longas | Um pedido que demora segura um processo. Para trabalho pesado, faça-o fora do pedido (uma fila), em vez de subir os workers. |
| Websockets | O FastAPI suporta-os. Para o nginx, veja WebSockets num VPS. |
| Pedidos entre origens | Se um site noutro domínio chama esta API: CORS. |
Não exponha o uvicorn à Internet. Ouvir em 0.0.0.0 com a porta aberta na firewall salta o HTTPS e o proxy. Mantenha o 127.0.0.1 e deixe só o nginx público. Se a API não responde de fora, siga portas e firewall num VPS.
|
Crie uma rota de saúde (por exemplo /health que responde «ok») e use-a para saber se a API está viva: com curl, ou num serviço de monitorização. Se o serviço não arranca, journalctl -u minha-api -n 100 diz porquê. Num VPS não gerido, a manutenção é sua: até onde vai o nosso suporte.
|
|
Precisa de um servidor para a sua API? Veja os VPS. Ver os servidores VPS |
|
VEJA TAMBÉM Correr Flask ou Django com gunicorn e systemd num VPS |
PRODUTO RECOMENDADO Servidor VPS com acesso root Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde 7.560,00 Kz/mês (plano de 3 anos, com cupão) Ver planos |
- 0 Utilizadores acharam útil











