Tengo nginx 1.6.2 con configuración para actualizar la conexión a websocket.
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Cuando no se abre ninguna conexión websocket, el "servicio nginx stop" funciona, tanto el proceso maestro como el de trabajo se detienen correctamente.
killproc $prog -QUIT
Pero cuando tengo un websocket abierto, no se puede detener nginx, aunque aparece:
Stopping nginx: [ OK ]
Lo intenté :
killproc $prog -MATAR
pero como era de esperar, mata por la fuerza al maestro la primera vez que ejecuto el comando y al trabajador si lo vuelvo a ejecutar.
¿Qué recomiendas para forzar un apagado en nginx? Estoy pensando en reemplazar killproc por:
pkill $prog
Respuesta1
http://nginx.org/en/docs/control.html
Intente utilizar TERM
o INT
en lugar de KILL
.
KILL
es demasiado "rápido" y no le da al maestro de nginx la oportunidad de detener a los trabajadores.