es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo desplegar una API de FastAPI en un droplet de DigitalOcean?

He creado una API de FastAPI y tengo una máquina Droplet de Digital Ocean ejecutándose en Ubuntu. No puedo averiguar cómo implementarla en el servidor para que otros usuarios/máquinas puedan utilizar la API.
No pude encontrar nada en línea específico sobre Droplets o servidores en relación a esto, así que cualquier orientación sería muy apreciada.
No estoy seguro de cómo formular exactamente esta pregunta, así que por favor, comenta si necesito proporcionar más aclaraciones.
Gracias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Despliegue de una API FastAPI en un Droplet de Digital Ocean

    Si has construido una API FastAPI y tienes una máquina Digital Ocean droplet ejecutándose en Ubuntu, deberás seguir estos pasos para desplegarla en el servidor para que otros usuarios/máquinas puedan utilizar la API:

    Paso 1: Instalar Dependencias en la Máquina Droplet

    Deberás instalar las dependencias necesarias en tu máquina Droplet de Digital Ocean. Estas incluyen:

    • Python 3
    • pip
    • FastAPI
    • uvicorn

    Puedes instalar estos paquetes utilizando el siguiente comando:

    sudo apt-get update
    sudo apt-get install python3-pip
    pip3 install fastapi uvicorn[standard]
    

    Paso 2: Copiar tu API FastAPI a la Máquina Droplet

    Copia tu código de API FastAPI a tu máquina Droplet. Puedes utilizar el comando scp para copiar tu código. Aquí tienes un ejemplo:

    scp -r /ruta/a/tu/api-fastapi/ root@tu.direcciónip.digitalocean:/root/api-fastapi
    

    Paso 3: Ejecutar la API en la Máquina Droplet

    Ejecuta el siguiente comando en tu máquina Digital Ocean droplet:

    cd /root/api-fastapi
    uvicorn main:app --port 8000 --host 0.0.0.0
    

    El main debe ser reemplazado por el nombre de tu archivo de aplicación (con la extensión “.py”). Las opciones --port y --host especifican en qué puerto y host debe escuchar la aplicación. En este caso, estamos escuchando en todas las interfaces de red disponibles (0.0.0.0) en el puerto 8000.

    Paso 4: Configurar el Firewall

    Deberás configurar el firewall en tu máquina Digital Ocean droplet para permitir las solicitudes entrantes en el puerto en el que se está ejecutando tu aplicación. Por defecto, el tráfico entrante está bloqueado en todos los puertos excepto en SSH. Para abrir un puerto, ejecuta el siguiente comando:

    sudo ufw allow 8000/tcp
    

    Esto permitirá el tráfico entrante en el puerto 8000.

    Paso 5: Probar tu API

    Ahora deberías poder acceder a tu API FastAPI visitando `http://tu.direcciónip.digitalocean:8000/docs` en tu navegador web.

    ¡Eso es todo! Tu API FastAPI ahora debería estar desplegada en tu máquina Droplet de Digital Ocean y accesible para otros usuarios/máquinas.

Comments are closed.