[pyar] Nginx no refleja cambios en producción

Francisco J Capdevila fjcapdevila en gmail.com
Mie Abr 29 10:07:29 ART 2015


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


More information about the pyar mailing list