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:
- Edita la configuración del sitio en Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Comprueba la configuración:
sudo nginx -t - 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.