FastAPI

Un framework web Python moderno e ad alte prestazioni per la creazione di API con suggerimenti di tipo.

1. Connettiti al tuo server

Utilizza SSH per connetterti al tuo server:

ssh root@<server-ip>

2. Credenziali di accesso

È stato creato un utente dedicato denominato fastapi per gestire la tua applicazione.

Puoi trovare le credenziali di accesso in questo file: /root/.fastapi-creds

Per visualizzarli, eseguire:

cat /root/.fastapi-creds

Se desideri modificare la password, utilizza:

passwd fastapi

3. Passa all'utente dell'app

Passa all'account utente fastapi per gestire la tua app:

su - flask

Questo account contiene il tuo progetto FastAPI e l'ambiente.

4. Struttura del progetto

Ecco la struttura predefinita delle directory:

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

5. Gestione della tua candidatura

Passare alla directory dell'applicazione:

cd ~/fastapi_app

Attiva l'ambiente virtuale:

source venv/bin/activate

Modifica il file principale dell'app:

nano main.py

Riavvia il servizio FastAPI per applicare le modifiche:

sudo systemctl restart uvicorn-fastapi

6. Visualizzazione dei registri

È possibile controllare i log di Uvicorn e Nginx come segue:

  • Registri Uvicorn: /var/log/uvicorn/
  • Log degli errori Nginx: /var/log/nginx/error.log
  • Log di accesso Nginx: /var/log/nginx/access.log

Per visualizzarli:

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

7. Accesso alla tua API

Una volta avviato il servizio, la tua app FastAPI sarà disponibile nel browser all'indirizzo: http://<server-ip>

Nginx inoltra automaticamente le richieste HTTP al socket Uvicorn che esegue la tua app FastAPI.

8. Modifica del dominio o della porta

Se desideri aggiornare il nome del server, la porta o il dominio:

  1. Modifica la configurazione del sito Nginx: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. Configurazione di prova: sudo nginx -t
  3. Ricarica Nginx: sudo systemctl restart nginx

9. Servizio Uvicorn

L'app FastAPI viene eseguita tramite un servizio systemd denominato uvicorn-fastapi.

Utilizza /home/fastapi/fastapi_app/main:app come punto di ingresso dell'applicazione e si riavvia automaticamente in caso di errore.

Per gestire il servizio:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

Per modificare il servizio:

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

10. Abilita HTTPS (facoltativo)

Utilizza Certbot per abilitare HTTPS.

Dettagli dell'applicazione