martes, 7 de octubre de 2025

WEBPROPv2 (XI). Arranque de los servicios de la aplicacion y validación de usuarios

 Tal como vimos en el apartado anterior de solución de errores, es mejor arrancar estas aplicaciones como servicios, así se pueden reactivar sin problemas.

También se vió como se debe arrancar uvicorn para que pueda tener varios workers en marcha y así no bloquee su ejecución a otros usuarios si está ejecutando una tarea larga como la de captura de decretos.

Veamos los ficheros de servicio que se guardan en /etc/systemd/system

python_menus_mnu_main_py.service:

[Unit]
Description=Softprop Menu Main Python Service
After=network.target

[Service]
# Usuario y grupo que ejecutarán el servicio
User=informatica
Group=informatica

# Directorio de trabajo base
WorkingDirectory=/home/informatica/eduApps

# Activar entorno virtual
Environment="PATH=/home/informatica/eduApps/softprop/venv_softprop/bin"

# Ejecutar directamente el script (usa el shebang) SOLO USA UN WORKER
#ExecStart=/home/informatica/eduApps/softprop/menus/mnu_main.py
# Ejecutar uvicorn directamente (importa el módulo mnu_main:app)
ExecStart=/home/informatica/eduApps/softprop/venv_softprop/bin/uvicorn softprop.menus.mnu_main:app \
  --host proves.tavernes.es \
  --port 5000 \
  --workers 4 \
  --ssl-keyfile /home/informatica/eduApps/softprop/static/certs/wildcard.municipio.es.key \
  --ssl-certfile /home/informatica/eduApps/softprop/static/certs/wildcard.municipio.es.crt

# Reinicio automático en caso de error
Restart=always
RestartSec=5

# Redirección de logs
StandardOutput=append:/var/log/softprop_menus_menu_main.log
StandardError=append:/var/log/softprop_menus_mnu_main.err

[Install]
WantedBy=multi-user.target


y para el servicio de autenticación python_authentication_xmopenresty_py.service:



[Unit]
Description=Softprop OpenResty Python Service After=network.target
[Service]
# Usuario y grupo del servicio User=informatica Group=informatica # Directorio base del proyecto WorkingDirectory=/home/informatica/eduApps # Activar entorno virtual Environment="PATH=/home/informatica/eduApps/softprop/venv_softprop/bin" #ExecStart=/home/informatica/eduApps/softprop/authentication/xmopenresty.py # Ejecutar uvicorn directamente importando el módulo ExecStart=/home/informatica/eduApps/softprop/venv_softprop/bin/uvicorn softprop.authentication.xmopenresty:app \ --host 192.168.28.16 \ --port 5001 \ --workers 4 \ --ssl-keyfile /home/informatica/eduApps/softprop/static/certs/wildcard.municipio.es.key \ --ssl-certfile /home/informatica/eduApps/softprop/static/certs/wildcard.municipio.es.crt # Reiniciar automáticamente en caso de error Restart=always RestartSec=5 #Logs StandardOutput=append:/var/log/softprop_authentication_openresty.log StandardError=append:/var/log/softprop_authentication_openresty.err
[Install]
WantedBy=multi-user.target

Ahora hay que hacer estas tareas:

sudo systemctl restart python_menus_mnu_main_py.service
sudo systemctl restart python_authentication_xmopenresty_py.service

y sobre todo controlar los LOGS !! que crecen mucho

/var/log/softprop_menus_menu_main.log
/var/log/softprop_menus_mnu_main.err
/var/log/softprop_authentication_openresty.log
/var/log/softprop_authentication_openresty.err








No hay comentarios :

Publicar un comentario