Sistemas Operativos - Gestión de servicios
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.
Ubicar tu aplicación:
/home/usuario/app/app.py
Verifica que funciona:
uvicorn app:app --host 0.0.0.0 --port 8000
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
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl start fastapi
sudo systemctl enable fastapi
Estado del servicio:
systemctl status fastapi
Puerto activo:
ss -tuln | grep 8000
Acceso:
http://IP_SERVIDOR:8000
sudo systemctl stop fastapi
sudo systemctl restart fastapi
sudo systemctl disable fastapi
journalctl -u fastapi