[pyar] Nginx no refleja cambios en producción

Francisco J Capdevila fjcapdevila en gmail.com
Mie Abr 29 11:43:38 ART 2015


Dale un vistazo a este thread [0]

Prestale especial atención a esta parte:

"Maybe it helps to put exec in front of gunicorn?

I'm pretty sure I tried using exec in various combinations with no
success before...
Now I tried again and suddenly it works, all gunicorn child processes
are gone when I call the stop-command.

Indeed using exec seems to be the solution to the problem. Thank you, Gustavo!"


[0] http://comments.gmane.org/gmane.comp.sysutils.supervisor.general/1332
Francisco J. Capdevila


El día 29 de abril de 2015, 11:35, Ariel Montenegro
<montenegroariel en gmail.com> escribió:
> el contenido del archivo es este
>
>
> #!/bin/bash
> cd /home/git/django/sihac
> source /home/git/django/venv/bin/activate
> /home/git/django/venv/bin/gunicorn sihac.wsgi:application --timeout 120
> --workers 9 -b 10.91.2.95:8000 -w 65 --user=root --group=root
> --log-file=/home/git/django/gunicorn.log 2>>/home/git/django/gunicorn.log
>
> levanta el virtualenv y pasa los parametros necesarios para gunicorn
>
> El 29 de abril de 2015, 10:07 a. m., Francisco J
> Capdevila<fjcapdevila en gmail.com> escribió:
>>
>> Tiene sentido correr el gunicorn desde un script? Por qué no ejecutas
>> directamente gunicorn?
>> Es mas transparente para supervisord.
>>
>> Podrías mostrarnos lo que hace gunicorn.sh?
>>
>> Saludos,
>>
>> Francisco.
>> Francisco J. Capdevila
>>
>>
>> El día 29 de abril de 2015, 8:34, Ariel Montenegro
>> <montenegroariel en gmail.com> escribió:
>> > Que tal amigos, les comento que después de algunas modificaciones, mis
>> > archivos quedaron configurados de la forma que muestro abajo, de todas
>> > maneras no se reflejaban los cambios en el server, probé borrando todos
>> > los
>> > *.pyc con un find pero tampoco resultaba, hasta que me puse  a buscar
>> > los
>> > procesos y me encontré con esto
>> > supervisord───gunicorn.sh───gunicorn───65*[gunicorn]
>> >
>> > Liste todo lo que estaba corriendo, y entre los los pid habia 65 lineas
>> > iguales a esta:
>> > 7626 ?        S      0:00 /home/git/django/venv/bin/python3
>> > /home/git/django/venv/bin/gunicorn sihac.wsgi:application --timeout 120
>> > --workers 9 -b 10.91.2.95:8000 -w 65 --user= ...
>> >
>> > Por lo que me dispuse a matarlos a mano y chan! todo se actualizo en el
>> > server :D
>> >
>> > Es una salida autimoatizar los kill?
>> >
>> > Saludos!!!
>> >
>> >
>> > Mis archivos
>> >
>> > # supervisor
>> > [program:sihac]
>> > directory=/home/git/django/sihac
>> > user=root
>> > command=/home/git/django/gunicorn.sh
>> > stdout_logfile=/home/git/django/supervisor_stdout.log
>> > stderr_logfile=/home/git/django/supervisor_stderr.log
>> > autostart=true
>> > autorestart=true
>> > stopasgroup=true
>> >
>> > # gunicorn.sh
>> > #!/bin/bash
>> > cd /home/git/django/sihac
>> > source /home/git/django/venv/bin/activate
>> > /home/git/django/venv/bin/gunicorn sihac.wsgi:application --timeout 120
>> > --workers 9 -b 10.91.2.95:8000 -w 65 --user=root --group=root
>> > --log-file=/home/git/django/gunicorn.log
>> > 2>>/home/git/django/gunicorn.log
>> >
>> >
>> > # nginx
>> > server {
>> >     listen 80;
>> >     server_name test.hacfsa.org.ar;
>> >     client_max_body_size 50M;
>> >     root /home/git/django/sihac;
>> >     access_log /home/git/django/nginx_access.log;
>> >     error_log /home/git/django/nginx_error.log;
>> >     location /media/ {    }
>> >     location /static/ {    }
>> > location / {
>> >         proxy_pass_header Server;
>> >         proxy_set_header Host $http_host;
>> >         proxy_redirect off;
>> >         proxy_set_header X-Real-IP $remote_addr;
>> >         proxy_set_header X-Scheme $scheme;
>> >         proxy_connect_timeout 120;
>> >         proxy_send_timeout 120;
>> >         proxy_read_timeout 120;
>> >         proxy_pass http://10.91.2.95:8000/;
>> >     }
>> > }
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > El 27 de abril de 2015, 9:33 a. m., Emilio<emilioramirez04 en gmail.com>
>> > escribió:
>> >>
>> >> Muy bueno fisa, el finde justamente estabamos charlando sobre ese
>> >> 'problema' de supervisor y me terminaron recomendando Circus[1]. No lo
>> >> probé
>> >> pero esta en mi TODO.
>> >>
>> >> [1] http://circus.readthedocs.org/en/0.11.1/
>> >>
>> >> 2015-04-25 20:03 GMT-03:00 Ariel Montenegro
>> >> <montenegroariel en gmail.com>:
>> >>
>> >>> Muchas gracias!!
>> >>>
>> >>> El 25 de abril de 2015, 12:29 p. m., Pedro Jose
>> >>> Pezzarini<jose2190 en gmail.com> escribió:
>> >>>>
>> >>>> Uuuu genial fisa !
>> >>>>
>> >>>>
>> >>>> El vie., abr. 24, 2015 6:30 PM, fisa <fisadev en gmail.com> escribió:
>> >>>>>
>> >>>>> Importante respecto a eso!: cuando manejan gunicorn con supervisor,
>> >>>>> y
>> >>>>> están usando más de un worker, tienen que usar la opción
>> >>>>> "stopasgroup" de
>> >>>>> supervisor. Si no en stop o restart, solo va a matar 1 de los
>> >>>>> workers (el
>> >>>>> inicial) y los otros van a quedar vivos.
>> >>>>>
>> >>>>> Un ejemplo usando esa setting:
>> >>>>>
>> >>>>> [program:NOMBRE_APP]
>> >>>>> directory=RAIZ_A_PROYECTO_DJANGO
>> >>>>> user=root
>> >>>>> command=RAIZ_APP/gunicorn.sh
>> >>>>> stdout_logfile=RAIZ_APP/supervisor_stdout.log
>> >>>>> stderr_logfile=RAIZ_APP/supervisor_stderr.log
>> >>>>> autostart=true
>> >>>>> autorestart=true
>> >>>>> stopasgroup=true
>> >>>>>
>> >>>>> Saludos!
>> >>>>>
>> >>>>> On Fri, Apr 24, 2015 at 4:33 PM Ariel Montenegro
>> >>>>> <montenegroariel en gmail.com> wrote:
>> >>>>>>
>> >>>>>> gracias a todos por sus respuestas!! voy a probar las soluciones y
>> >>>>>> les
>> >>>>>> cuento como me fue.
>> >>>>>>
>> >>>>>> saludos!!
>> >>>>>>
>> >>>>>> El 24 de abril de 2015, 3:50 p. m., Pedro Jose
>> >>>>>> Pezzarini<jose2190 en gmail.com> escribió:
>> >>>>>>>
>> >>>>>>> Me paso una situación similar ... El problema estaba que
>> >>>>>>> supervisor
>> >>>>>>> había perdido el control de un gunicorn y quedo. Corriendo en
>> >>>>>>> memoria ...
>> >>>>>>> Con killall gunicorn se solucionó
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> El vie., abr. 24, 2015 11:56 AM, Francisco J Capdevila
>> >>>>>>> <fjcapdevila en gmail.com> escribió:
>> >>>>>>>>
>> >>>>>>>> Suena un poco overkiller reiniciar todos los servicios
>> >>>>>>>> controlados
>> >>>>>>>> por
>> >>>>>>>> supervisor.
>> >>>>>>>> Con reiniciar el gunicorn (o lo que sea que sirve tu projecto
>> >>>>>>>> Django),
>> >>>>>>>> debería ser mas que suficiente.
>> >>>>>>>>
>> >>>>>>>> Una buena practica también, es hacer un hook (en el server) que
>> >>>>>>>> elimine los .pyc luego de hacer pull/checkout, solo para estar
>> >>>>>>>> mas
>> >>>>>>>> tranquilo...
>> >>>>>>>> Francisco J. Capdevila
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> El día 24 de abril de 2015, 11:40, Javier Marcon
>> >>>>>>>> <javiermarcon en gmail.com> escribió:
>> >>>>>>>> > Eso lo haces ejecutando el comando:
>> >>>>>>>> >
>> >>>>>>>> > sudo supervisorctl restart all
>> >>>>>>>> >
>> >>>>>>>> > El 24/04/15 a las 11:32, Jairo Trad escibió:
>> >>>>>>>> >
>> >>>>>>>> > Tenes que reiniciar Supervisor, todo lo demás no lo reinicies.
>> >>>>>>>> >
>> >>>>>>>> > Saludos, J
>> >>>>>>>> >
>> >>>>>>>> > El 24 de abril de 2015, 11:27, Ariel Montenegro
>> >>>>>>>> > <montenegroariel en gmail.com>
>> >>>>>>>> > escribió:
>> >>>>>>>> >>
>> >>>>>>>> >> Que tal a todos, los molesto por lo siguiente, estamos
>> >>>>>>>> >> trabajando
>> >>>>>>>> >> con un
>> >>>>>>>> >> servidor Debian 7 donde se encuentran corriendo, Django,
>> >>>>>>>> >> Nginx,
>> >>>>>>>> >> Gunicorn,
>> >>>>>>>> >> Git y Supervisor.
>> >>>>>>>> >>
>> >>>>>>>> >> Estamos utilizando django-restframework y angular, el problema
>> >>>>>>>> >> surge al
>> >>>>>>>> >> realizar un pull para actualizar producción y los cambios
>> >>>>>>>> >> realizados en los
>> >>>>>>>> >> archivos python no tienen ningún efecto a menos que se realice
>> >>>>>>>> >> una
>> >>>>>>>> >> reiniciada total del server.
>> >>>>>>>> >>
>> >>>>>>>> >> Probé con lo clásico, reiniciando los servicios, matando a
>> >>>>>>>> >> todos
>> >>>>>>>> >> y
>> >>>>>>>> >> volviendo a levantarlos, pero nada, la única forma es
>> >>>>>>>> >> reiniciando
>> >>>>>>>> >> todo el
>> >>>>>>>> >> sistema.
>> >>>>>>>> >> Quería saber si a alguien le paso algo parecido o si podrían
>> >>>>>>>> >> orientarme
>> >>>>>>>> >> para resolver el problema.
>> >>>>>>>> >>
>> >>>>>>>> >> desde ya muchas gracias!!
>> >>>>>>>> >>
>> >>>>>>>> >>
>> >>>>>>>> >>
>> >>>>>>>> >>
>> >>>>>>>> >>
>> >>>>>>>> >> --
>> >>>>>>>> >> Ariel Montenegro
>> >>>>>>>> >>
>> >>>>>>>> >> _______________________________________________
>> >>>>>>>> >> pyar mailing list pyar en python.org.ar
>> >>>>>>>> >> http://listas.python.org.ar/listinfo/pyar
>> >>>>>>>> >>
>> >>>>>>>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>>>> >>
>> >>>>>>>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> >>>>>>>> >> Libre de
>> >>>>>>>> >> Argentina - http://www.usla.org.ar
>> >>>>>>>> >
>> >>>>>>>> >
>> >>>>>>>> >
>> >>>>>>>> >
>> >>>>>>>> > --
>> >>>>>>>> > Jairo Trad
>> >>>>>>>> > ar.linkedin.com/in/ingjairotrad
>> >>>>>>>> >
>> >>>>>>>> >
>> >>>>>>>> > _______________________________________________
>> >>>>>>>> > pyar mailing list pyar en python.org.ar
>> >>>>>>>> > http://listas.python.org.ar/listinfo/pyar
>> >>>>>>>> >
>> >>>>>>>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>>>> >
>> >>>>>>>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> >>>>>>>> > Libre de
>> >>>>>>>> > Argentina - http://www.usla.org.ar
>> >>>>>>>> >
>> >>>>>>>> >
>> >>>>>>>> >
>> >>>>>>>> > _______________________________________________
>> >>>>>>>> > pyar mailing list pyar en python.org.ar
>> >>>>>>>> > http://listas.python.org.ar/listinfo/pyar
>> >>>>>>>> >
>> >>>>>>>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>>>> >
>> >>>>>>>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> >>>>>>>> > Libre de
>> >>>>>>>> > Argentina - http://www.usla.org.ar
>> >>>>>>>> _______________________________________________
>> >>>>>>>> pyar mailing list pyar en python.org.ar
>> >>>>>>>> http://listas.python.org.ar/listinfo/pyar
>> >>>>>>>>
>> >>>>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>>>>
>> >>>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> >>>>>>>> Libre
>> >>>>>>>> de Argentina - http://www.usla.org.ar
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> _______________________________________________
>> >>>>>>> pyar mailing list pyar en python.org.ar
>> >>>>>>> http://listas.python.org.ar/listinfo/pyar
>> >>>>>>>
>> >>>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>>>
>> >>>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software
>> >>>>>>> Libre
>> >>>>>>> de Argentina - http://www.usla.org.ar
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> Ariel Montenegro
>> >>>>>> _______________________________________________
>> >>>>>> pyar mailing list pyar en python.org.ar
>> >>>>>> http://listas.python.org.ar/listinfo/pyar
>> >>>>>>
>> >>>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>>
>> >>>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> >>>>>> de
>> >>>>>> Argentina - http://www.usla.org.ar
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> pyar mailing list pyar en python.org.ar
>> >>>>> http://listas.python.org.ar/listinfo/pyar
>> >>>>>
>> >>>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>>
>> >>>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> >>>>> de
>> >>>>> Argentina - http://www.usla.org.ar
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> pyar mailing list pyar en python.org.ar
>> >>>> http://listas.python.org.ar/listinfo/pyar
>> >>>>
>> >>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>>
>> >>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre
>> >>>> de
>> >>>> Argentina - http://www.usla.org.ar
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Ariel Montenegro
>> >>>
>> >>> _______________________________________________
>> >>> pyar mailing list pyar en python.org.ar
>> >>> http://listas.python.org.ar/listinfo/pyar
>> >>>
>> >>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>>
>> >>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >>> Argentina - http://www.usla.org.ar
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Emilio H. Ramirez
>> >>
>> >>
>> >> _______________________________________________
>> >> pyar mailing list pyar en python.org.ar
>> >> http://listas.python.org.ar/listinfo/pyar
>> >>
>> >> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >>
>> >> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> >> Argentina - http://www.usla.org.ar
>> >
>> >
>> >
>> >
>> > --
>> > Ariel Montenegro
>> >
>> > _______________________________________________
>> > pyar mailing list pyar en python.org.ar
>> > http://listas.python.org.ar/listinfo/pyar
>> >
>> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>> >
>> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> > Argentina - http://www.usla.org.ar
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>
>
>
>
> --
> Ariel Montenegro
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar


More information about the pyar mailing list