Nginx hört nicht bei der WebSocket-Verbindung auf

Nginx hört nicht bei der WebSocket-Verbindung auf

Ich habe Nginx 1.6.2 mit Konfiguration zum Upgrade der Verbindung zum WebSocket.

 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "upgrade";

Wenn keine WebSocket-Verbindung geöffnet wird, funktioniert „service nginx stop“ und sowohl der Master- als auch der Worker-Prozess werden ordnungsgemäß gestoppt.

    killproc $prog -QUIT

Aber wenn ich einen geöffneten Websocket habe, kann Nginx nicht gestoppt werden, obwohl ich Folgendes erhalte:

Stopping nginx:                                            [  OK  ]

Ich habe es versucht :

killproc $prog -KILL

Aber wie erwartet wird der Master zwangsweise beendet, wenn ich den Befehl zum ersten Mal ausführe, und der Worker, wenn ich ihn erneut ausführe.

Was empfehlen Sie, um ein Herunterfahren von nginx zu erzwingen? Ich denke daran, killproc durch Folgendes zu ersetzen:

pkill $prog

Antwort1

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

Versuchen Sie, TERModer INTanstelle von zu verwenden KILL. KILList zu „schnell“, es gibt dem Nginx-Master keine Chance, die Worker anzuhalten.

verwandte Informationen