FastAPI

Uma estrutura web Python moderna e de alto desempenho para a criação de APIs com dicas de tipo.

1. Ligue-se ao seu servidor

Use SSH para se conectar ao seu servidor:

ssh root@<server-ip>

2. Aceder às credenciais de login

Um utilizador dedicado chamado fastapi foi criado para gerir a sua aplicação.

Pode encontrar as credenciais de login neste ficheiro: /root/.fastapi-creds

Para visualizá-los, execute:

cat /root/.fastapi-creds

Se desejar alterar a palavra-passe, utilize:

passwd fastapi

3. Mude para o utilizador da aplicação

Mude para a conta de utilizador fastapi para gerir a sua aplicação:

su - flask

Esta conta contém o seu projeto e ambiente FastAPI.

4. Estrutura do projeto

Aqui está a estrutura padrão do diretório:

/home/fastapi/fastapi_app/
├── main.py          → Your main FastAPI application file
├── venv/            → Virtual environment
└── __pycache__/     → Compiled Python files (auto-generated)

5. Gerir a sua candidatura

Navegue até o diretório do aplicativo:

cd ~/fastapi_app

Ative o ambiente virtual:

source venv/bin/activate

Edite o ficheiro principal da aplicação:

nano main.py

Reinicie o serviço FastAPI para aplicar as alterações:

sudo systemctl restart uvicorn-fastapi

6. Visualização de registos

Pode verificar os registos do Uvicorn e do Nginx da seguinte forma:

  • Registos da Uvicorn: /var/log/uvicorn/
  • Registo de erros do Nginx: /var/log/nginx/error.log
  • Registo de acesso Nginx: /var/log/nginx/access.log

Para visualizá-los:

sudo tail -f /var/log/uvicorn/*

7. Aceder à sua API

Assim que o serviço estiver em execução, a sua aplicação FastAPI estará disponível no seu navegador em: http://<server-ip>

O Nginx encaminha automaticamente as solicitações HTTP para o socket Uvicorn que executa a sua aplicação FastAPI.

8. Alterar o domínio ou a porta

Se pretender atualizar o nome do servidor, a porta ou o domínio:

  1. Editar a configuração do site Nginx: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. Configuração do teste: sudo nginx -t
  3. Recarregar o Nginx: sudo systemctl restart nginx

9. Serviço Uvicorn

A aplicação FastAPI é executada através de um serviço systemd chamado uvicorn-fastapi.

Ele usa /home/fastapi/fastapi_app/main:app como ponto de entrada da aplicação e reinicia automaticamente em caso de falha.

Para gerir o serviço:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

Para editar o serviço:

sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi

10. Ativar HTTPS (opcional)

Use o Certbot para ativar o HTTPS.

Detalhes da candidatura