50% de descuento en todos los planes, por tiempo limitado. Desde $2.48/mo
FastAPI

FastAPI

FastAPI es un framework web moderno para Python. Asíncrono por diseño, con anotaciones de tipos y generación automática de documentación OpenAPI y Swagger. Lo usan Microsoft, Uber y Netflix. Entre 3 y 5 veces más rápido que Flask, y es el framework Python predeterminado para REST y las APIs GraphQL desde 2019.

Versión

Latest

Sistema operativo

Ubuntu Server 24.04 LTS

RAM mín.

1 GB

Tipos de IP

IPV4,IPV6

1. Conéctate a tu servidor

Usa SSH para conectarte a tu servidor:

ssh root@<server-ip>

2. Accede a las credenciales de acceso

Se ha creado un usuario dedicado llamado fastapi para gestionar tu aplicación.

Puedes encontrar las credenciales de acceso en este archivo: /root/.fastapi-creds

Para verlas, ejecuta:

cat /root/.fastapi-creds

Si quieres cambiar la contraseña, usa:

passwd fastapi

3. Cambia al usuario de la aplicación

Cambia a la cuenta del usuario fastapi para gestionar tu aplicación:

su - flask

Esta cuenta contiene tu proyecto FastAPI y su entorno.

4. Estructura del proyecto

Esta es la estructura de directorios predeterminada:

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

5. Gestión de la aplicación

Ve al directorio de la aplicación:

cd ~/fastapi_app

Activa el entorno virtual:

source venv/bin/activate

Edita el archivo principal de la app:

nano main.py

Reinicia el servicio FastAPI para aplicar los cambios:

sudo systemctl restart uvicorn-fastapi

6. Consulta de logs

Puedes revisar los logs de Uvicorn y Nginx de la siguiente manera:

  • Logs de Uvicorn: /var/log/uvicorn/
  • Log de errores de Nginx: /var/log/nginx/error.log
  • Log de acceso de Nginx: /var/log/nginx/access.log

Para consultarlos:

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

7. Acceso a tu API

Una vez que el servicio esté en ejecución, tu app FastAPI estará disponible en el navegador en: http://<server-ip>

Nginx redirige automáticamente las solicitudes HTTP al socket de Uvicorn que ejecuta tu app FastAPI.

8. Cambio de dominio o puerto

Si quieres actualizar el nombre del servidor, el puerto o el dominio:

  1. Edita la configuración del sitio en Nginx: sudo nano /etc/nginx/sites-available/uvicorn-fastapi
  2. Comprueba la configuración: sudo nginx -t
  3. Recarga Nginx: sudo systemctl restart nginx

9. Servicio de Uvicorn

La app FastAPI se ejecuta mediante un servicio systemd llamado uvicorn-fastapi.

Usa /home/fastapi/fastapi_app/main:app como punto de entrada de la aplicación y se reinicia automáticamente si falla.

Para gestionar el servicio:

systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi

Para editar el servicio:

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

10. Activar HTTPS (opcional)

Usa Certbot para habilitar HTTPS.

Más en Herramientas de Desarrollo

Aplicaciones relacionadas.

Despliega FastAPI ahora. Desde 2,48 $/mes.