Gunicorn es un servidor WSGI HTTP para Python que actúa como interfaz entre tu aplicación web y el servidor web. La configuración de Gunicorn para NESS generalmente se realiza a través de un archivo de servicio systemd.
Dentro del entorno virtual ness-venv instalamos Gunicorn
pip3 install gunicorn
- Archivo de Servicio de Gunicorn (
gunicorn.service
):Ubicación:/etc/systemd/system/gunicorn.service
Contenido del archivo lo creamos:
sudo nano /etc/systemd/system/gunicorn.service
Es importante tener en cuenta que las rutas de los directorios se deben modificar de acuerdo a la ubicación donde se encuentre el entorno virtual y la carpeta donde se encuentra NetNess.
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=nessapp
Group=www-data
WorkingDirectory=/home/nessapp/Documentos/NetNess
ExecStart=/home/nessapp/Documentos/NetNess/ness-venv/bin/gunicorn --workers 3 --bind unix:/home/nessapp/Documentos/NetNess/netness_project.sock netness_project.wsgi:application
[Install]
WantedBy=multi-user.target
Cambia nombre_usuario
, nombre_grupo
, /ruta/ubicación_NESS
, /ness-venv/bin/gunicorn por tus valores reales.
Este archivo define cómo se inicia y gestiona Gunicorn como servicio del sistema. Establece el usuario y grupo bajo el que se ejecuta, la ubicación del proyecto y del entorno virtual, y la forma en que se ejecuta Gunicorn (número de workers, socket utilizado, y la aplicación WSGI).
2. Activar y Arrancar el Servicio de Gunicorn:
Después de crear y configurar el archivo gunicorn.service
, debes activar y arrancar el servicio:
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
3. Verificar el Estado del Servicio:
Para asegurarte de que Gunicorn está funcionando como se espera:
sudo systemctl status gunicorn
Iniciar gunicorn automáticamente con el sistema
sudo systemctl enable gunicorn
Si el servicio no se inicia correctamente es necesario validar las rutas de los directorios donde se encuentra el entorno virtual y la carpeta de NetNess
Para solucionar esto por favor verifique y corrija las rutas de los directorios y a continuación ejecute los siguientes comandos:
systemctl daemon-reload
sudo systemctl restart gunicorn
sudo systemctl start gunicorn
sudo systemctl enable gunicorn
sudo systemctl status gunicorn
Para ver el log de errores de gunicorn puedes usar el siguiente comando:
sudo journalctl -u gunicorn