Guía de despliegue

Desplegar una aplicación FastAPI en un VPS

Desplegar en un VPS Cloud →

Tutorial

Desplegar una aplicación FastAPI en un VPS

Desarrollo3 min de lectura6 pasos

FastAPI se ha impuesto como el framework Python de referencia para las API rápidas y tipadas, gracias a su soporte nativo de la asincronía y de la documentación OpenAPI. Desplegarlo en su propio VPS le da el control sobre el número de workers, los WebSocket y la latencia, sin techo impuesto por un servicio gestionado.

Contenido· ¿Por qué autoalojar FastAPI en un VPS?1/5
  1. 01¿Por qué autoalojar FastAPI en un VPS?
  2. 02Beneficios concretos de un FastAPI autoalojado
  3. 03Requisitos de hardware y software
  4. 04Desplegar FastAPI paso a paso
  5. 05Desplegar FastAPI con un clic desde el Marketplace ServOrbit

¿Por qué autoalojar FastAPI en un VPS?

FastAPI obtiene todo su rendimiento del modelo ASGI asíncrono: conexiones WebSocket persistentes, streaming de respuestas y llamadas concurrentes a otros servicios. Las plataformas serverless suelen cortar las conexiones largas y facturan cada petición, lo que penaliza a una API de alto caudal o en tiempo real. En un VPS, usted lanza Uvicorn gobernado por Gunicorn con tantos workers como núcleos, mantiene las conexiones abiertas todo el tiempo que haga falta y coloca Nginx al frente para el TLS y el buffering. También controla el pool de conexiones hacia PostgreSQL y la caché Redis, dos palancas esenciales cuando sube la carga — el caudal realmente sostenido se mide sobre su propio tráfico.

Beneficios concretos de un FastAPI autoalojado

  • WebSockets y Server-Sent Events sin cortes de conexión ni timeout impuesto.
  • Ajuste fino de los workers Uvicorn/Gunicorn según el número de núcleos del VPS.
  • Ningún arranque en frío (cold start): el proceso permanece activo entre dos peticiones.
  • Documentación Swagger y ReDoc servida internamente, accesible o protegida a su conveniencia.
  • Integración directa con un pool asíncrono de PostgreSQL (asyncpg) y Redis.
  • Coste fijo sea cual sea el número de llamadas a la API, ideal para un backend de producción.

Requisitos de hardware y software

Una API FastAPI es ligera: 1 vCPU y 1 GB de RAM bastan para empezar, pero apunte a 2 vCPU y 2 GB en cuanto añada una base de datos y una caché en el mismo VPS. Instale Python 3.11+ o utilice Docker con una imagen python:3.11-slim. Prevea Uvicorn con el worker uvicorn.workers.UvicornWorker, Gunicorn como gestor de procesos y Nginx para el reverse proxy. Se requiere un dominio apuntado al VPS para el certificado TLS. Ubuntu 22.04/24.04 LTS es la base recomendada.

Desplegar FastAPI paso a paso

  1. Inicializar el VPS y la aplicación

    Conéctese por SSH, instale Docker, clone su repositorio y cree un .env con las variables de entorno (URL de la base de datos, claves de API, origen CORS). Compruebe que su punto de entrada expone efectivamente app = FastAPI().

  2. Contenerizar con Uvicorn y Gunicorn

    En el Dockerfile, instale las dependencias y después lance gunicorn main:app -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 --workers 4. El número ideal de workers suele ser (2 × cœurs) + 1.

  3. Orquestar los servicios

    En docker-compose.yml, declare el servicio api, un servicio db PostgreSQL y un servicio redis. Utilice depends_on y un healthcheck para que la API espere a que la base de datos esté lista antes de arrancar.

  4. Colocar Nginx como reverse proxy

    Configure un bloque de servidor con proxy_pass http://api:8000 y, para los WebSockets, añada proxy_set_header Upgrade $http_upgrade y proxy_set_header Connection "upgrade". Desactive el buffering para el streaming si es necesario.

  5. Asegurar con un certificado TLS

    Obtenga un certificado Let's Encrypt mediante Certbot o un contenedor companion, fuerce el HTTPS y redirija el HTTP. Recuerde restringir el acceso a /docs y /openapi.json en producción si la API no es pública.

  6. Lanzar y probar

    Arranque con docker compose up -d, compruebe el estado mediante el endpoint /health que habrá añadido, y pruebe la documentación interactiva. Vigile los registros de Uvicorn para ajustar el número de workers bajo carga real.

Para las tareas largas (envío de correos, procesamiento de imágenes, llamadas externas lentas), no bloquee el event loop: derívelas a un worker en segundo plano con BackgroundTasks para los casos sencillos, o a Celery/ARQ con Redis para los procesamientos pesados. Una API que responde rápido y delega el trabajo asíncrono se mantiene reactiva incluso con alta concurrencia.

Desplegar FastAPI con un clic desde el Marketplace ServOrbit

El Marketplace ServOrbit ofrece una plantilla FastAPI Stack preconfigurada: Python 3.12, Uvicorn, Gunicorn, Nginx y PostgreSQL 16 se instalan automáticamente en su VPS desde el pedido. Sin sesión SSH para la instalación de base — llega directamente al paso de clonar su repositorio y de lanzar Uvicorn. La ficha del marketplace contiene las especificaciones exactas, los casos de uso y una guía de primera conexión.

Despliegue su FastAPI Stack en unos minutos

La plantilla FastAPI Stack de ServOrbit instala Python 3.12, Uvicorn, Gunicorn, Nginx y PostgreSQL 16 en su VPS. Lance su API de inmediato.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva