graceful reload는 새 worker가 새 설정을 사용하고 기존 worker는 현재 작업을 마치게 합니다. 활성 요청을 갑자기 중단하지 않고 변경을 적용하는 것이 목표입니다.
진행 중인 다운로드 따라가기
reload 시 다운로드가 진행 중이라고 가정합니다. 새 worker는 새 연결을 받기 시작합니다. 기존 worker는 현재 다운로드가 완료될 때까지 계속 처리하고 남은 작업이 끝나면 종료할 수 있습니다.
일반적인 설치에서는 다음으로 검증하고 reload합니다.
sh
nginx -t && nginx -s reload
첫 명령은 설정을 확인하고, 두 번째 명령은 검사가 성공한 경우에만 reload를 요청합니다. 설치에 맞는 설정 경로와 권한을 사용합니다. 새 설정 적용이 실패하면 master는 이전 설정으로 계속 실행합니다.
긴 연결은 절충을 바꿉니다
WebSocket은 기존 worker를 훨씬 오래 살아 있게 할 수 있습니다. worker_shutdown_timeout으로 종료 대기를 제한할 수 있지만, 한도에 도달하면 연결이 닫힐 수 있습니다. 클라이언트가 안전하게 재연결하거나 작업을 재개할 수 있는지에 따라 한도를 선택합니다.
