Volver a todos los artículos
ServidoresDesarrolloDevOps

Configuración de Entornos Virtuales Python y APIs con FastAPI en DirectAdmin

PROISO Tech & Software Solutions
3 min de lectura
Configuración de Entornos Virtuales Python y APIs con FastAPI en DirectAdmin
Aprende a ejecutar scripts en Python, entornos virtuales aislados y microservicios REST de alto rendimiento con FastAPI y CloudLinux en DirectAdmin.

Python se ha consolidado como el lenguaje preferido para backend moderno, automatización y APIs con FastAPI y Flask. Descubre cómo desplegar microservicios Python de forma segura y aislada en servidores con DirectAdmin y CloudLinux.

1. El Potencial de FastAPI en Servidores de Hosting#

FastAPI es uno de los frameworks web más rápidos para Python, ofreciendo validación automática de datos con Pydantic, documentación interactiva Swagger (/docs) y soporte nativo asíncrono (async/await).

En PROISO Tech & Software Solutions, cuentas con el selector de aplicaciones Python Setup App en paneles como DirectAdmin y cPanel, permitiéndote aislar librerías y versiones sin interferir con otros proyectos.


2. Creando el Microservicio FastAPI en Local#

Estructura básica de un archivo main.py:

python
# main.py
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI(
    title="PROISO Cloud API Service",
    description="Microservicio rápido en Python con FastAPI y CloudLinux",
    version="1.0.0"
)

class Item(BaseModel):
    name: str
    price: float
    is_offer: bool = None

@app.get("/")
def read_root():
    return {
        "status": "success",
        "message": "API de alto rendimiento corriendo en PROISO Tech & Software Solutions",
        "storage": "NVMe SSD PCIe 4.0"
    }

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

Para producción con Passenger / WSGI, crea el archivo de enlace passenger_wsgi.py:

python
# passenger_wsgi.py
import sys
import os

# Agrega la ruta de tu aplicación
sys.path.insert(0, os.path.dirname(__file__))

from a2wsgi import ASGIMiddleware
from main import app as asgi_app

# Convierte la app ASGI de FastAPI a WSGI para Passenger
application = ASGIMiddleware(asgi_app)

Genera tu lista de dependencias requirements.txt:

text
fastapi>=0.115.0
pydantic>=2.0.0
a2wsgi>=1.10.0

3. Despliegue en DirectAdmin / cPanel#

Paso 1: Subir los Archivos#

  1. Accede a tu panel DirectAdmin o cPanel.
  2. Mediante el Administrador de Archivos o SFTP, sube tus archivos main.py, passenger_wsgi.py y requirements.txt a un directorio específico (ej. /home/usuario/mi-api-python/).

Paso 2: Crear la Aplicación en "Setup Python App"#

  1. Abre Setup Python App.
  2. Haz clic en Create Application.
  3. Selecciona:
    • Python version: 3.10, 3.11 o 3.12.
    • Application root: mi-api-python.
    • Application URL: Tu dominio o subdominio asignado (ej. api.tudominio.com).
    • Application startup file: passenger_wsgi.py.
    • Application Entry point: application.
  4. Guarda y activa la aplicación.

Paso 3: Instalación de Paquetes en el Virtualenv#

En la sección Configuration files:

  1. Escribe requirements.txt en el campo y pulsa Add.
  2. Presiona el botón Run Pip Install.
  3. El entorno virtual aislado (virtualenv) instalará todas las librerías automáticamente.

4. Pruebas y Documentación Interactiva#

Una vez reiniciada la aplicación:

  • Visita https://api.tudominio.com/ para comprobar la respuesta JSON.
  • Visita https://api.tudominio.com/docs para ver la interfaz interactiva de Swagger UI donde puedes probar tus endpoints en tiempo real.

5. Beneficios de la Infraestructura CloudLinux#

  • Aislamiento CageFS: Tu código Python y variables sensibles nunca son accesibles por otros usuarios del servidor.
  • Rendimiento Garantizado: Cada proceso cuenta con memoria RAM y núcleos de CPU reservados que no sufren lentitud por cargas de otros sitios.

6. Conclusión#

Publicar APIs y servicios backend en Python es fácil, seguro y económico con PROISO Tech & Software Solutions. No necesitas gestionar un servidor Linux desde cero para contar con la máxima velocidad y estabilidad.

Tecnologías y Temas Relacionados
PythonDirectAdminFastAPICloudLinuxAPIs
Compartir:WhatsAppTwitterLinkedIn
Hosting Anual de Alta Velocidad

¿Listo para potenciar tus aplicaciones con discos NVMe?

Servidores optimizados para NodeJS, Python y WordPress con LiteSpeed. Planes anuales desde S/ 60/año con SSL gratis y soporte directo 24/7 en Perú.