Práctica: Servicio FastAPI con systemd

Sistemas Operativos - Gestión de servicios

Introducción

En sistemas Linux, los servicios persistentes se administran mediante systemd. Esto permite que aplicaciones se ejecuten automáticamente, se reinicien ante fallos y sean gestionadas como parte del sistema operativo.

Un servicio en systemd convierte un proceso manual en un servicio productivo.

Objetivo

Preparación

Ubicar tu aplicación:

/home/usuario/app/app.py

Verifica que funciona:

uvicorn app:app --host 0.0.0.0 --port 8000

Creación del servicio

Crear archivo:

sudo nano /etc/systemd/system/fastapi.service

Contenido:


[Unit]
Description=FastAPI Service
After=network.target

[Service]
User=usuario
WorkingDirectory=/home/usuario/app
ExecStart=/usr/bin/uvicorn app:app --host 0.0.0.0 --port 8000
Restart=always

[Install]
WantedBy=multi-user.target

Activación del servicio

sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo systemctl start fastapi sudo systemctl enable fastapi

Validación

Estado del servicio:

systemctl status fastapi

Puerto activo:

ss -tuln | grep 8000

Acceso:

http://IP_SERVIDOR:8000

Gestión del servicio

sudo systemctl stop fastapi sudo systemctl restart fastapi sudo systemctl disable fastapi

Análisis

systemd garantiza disponibilidad del servicio.

Reflexión

Extensión

Entrega