websocket에 대한 연결을 업그레이드하기 위한 구성이 있는 nginx 1.6.2가 있습니다.
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Websocket 연결이 열리지 않으면 "service nginx stop"이 작동하고 마스터 프로세스와 작업자 프로세스가 모두 정상적으로 중지됩니다.
killproc $prog -QUIT
그러나 웹소켓이 열려 있으면 다음과 같은 결과가 나오더라도 nginx를 중지할 수 없습니다.
Stopping nginx: [ OK ]
나는 시도했다 :
killproc $prog -KILL
하지만 예상대로 처음 명령을 실행하면 마스터가 강제로 종료되고, 다시 실행하면 워커가 강제로 종료됩니다.
nginx를 강제로 종료하려면 무엇을 권장합니까? 나는 killproc을 다음으로 대체하려고 생각하고 있습니다.
pkill $prog
답변1
http://nginx.org/en/docs/control.html
대신 TERM
또는 를 사용해 보십시오 . 너무 "빠르다"면 nginx의 마스터가 작업자를 중지할 기회를 주지 않습니다.INT
KILL
KILL