Nginx não para com conexão websocket

Nginx não para com conexão websocket

Eu tenho o nginx 1.6.2 com configuração para atualizar a conexão para o websocket.

 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";

Quando nenhuma conexão websocket é aberta, "service nginx stop" funciona, tanto o processo mestre quanto o de trabalho são interrompidos normalmente.

    killproc $prog -QUIT

Mas quando tenho um websocket aberto, o nginx não pode ser interrompido, mesmo que eu receba:

Stopping nginx:                                            [  OK  ]

Tentei :

killproc $prog -KILL

mas, como esperado, ele mata o mestre à força na primeira vez que executo o comando e o trabalhador se eu executar novamente.

O que você recomenda para forçar o desligamento do nginx? Estou pensando em substituir killproc por:

pkill $prog

Responder1

http://nginx.org/en/docs/control.html

Tente usar TERMou INTem vez de KILL. KILLé muito "rápido", não dá ao mestre do nginx a chance de parar os trabalhadores.

informação relacionada