es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Supervisor no está recargando correctamente Gunicorn con el proyecto Django.

Estoy utilizando Supervisor para recargar Gunicorn cuando subo el proyecto Django a producción:

Flujo de trabajo:

          " && python manage.py migrate"\
          " && python manage.py collectstatic --noinput"\
          " && supervisorctl restart frontdesk-gunicorn"\
          " && exit"

Configuración del Supervisor:

   [program:project-gunicorn]
    command=/home/gaetangr/project/myprojectenv/bin/gunicorn config.wsgi:application
    user=gaetangr
    directory=/home/gaetangr/project
    autostart=true
    autorestart=true

Pero la mayoría de las veces, para que todos los cambios se propaguen, tengo que hacer un sudo:

systemctl restart gunicorn

Según mi entendimiento, el comando del Supervisor debería ser exactamente el mismo.

¿Alguna idea?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Es posible que el usuario que ejecuta Supervisor no tenga suficientes permisos para reiniciar el proceso de Gunicorn. El comando sudo se suele utilizar para ejecutar comandos con permisos elevados, por lo que puede ser necesario otorgar permisos al usuario de Supervisor para ejecutar el comando systemctl restart gunicorn sin sudo. Esto se puede hacer agregando el usuario de Supervisor al grupo correspondiente, como sudo o systemd-journal, según la distribución de Linux que se esté utilizando. Alternativamente, se puede modificar la directiva command en el archivo de configuración de Supervisor para incluir el comando sudo antes del comando systemctl. Sin embargo, el uso de sudo de esta manera también puede requerir la entrada de una contraseña, lo cual no sería adecuado para flujos de trabajo de implementación automatizados.

Comments are closed.