부 드 러 운 업그레이드 nginx

온라인 서 비 스 를 위 한 nginx 업그레이드 나 모듈 을 추가 할 때 부 드 럽 게 업그레이드 할 수 있 습 니까?nginx 가 자주 업데이트 되 므 로 개발 자 들 은 이 문 제 를 이미 알 고 있 었 을 것 입 니 다.
위 키 를 보면 할 수 있 습 니 다.
nginx 의 kill 신호 메커니즘 이 있 습 니 다. 관건 적 인 신호:
USR 2 부 드 러 운 업 그 레이 드 를 실행 할 수 있 는 프로그램 입 니 다.WINCH 여 유 롭 게 작업 프로 세 스 닫 기 QUIT 여 유 롭 게 닫 기
1. 먼저 USR 2 신 호 를 보 냅 니 다. 예 를 들 어:
kill -USR2 `cat logs/nginx.pid`  

kill -USR2 `cat logs/nginx.pid`

이 때 ps - ef | grep nginx 를 사용 하면 nginx 와 관련 된 프로 세 스 를 배로 볼 수 있 습 니 다.이 동시에 logs 디 렉 터 리 에 nginx. pid. oldbin 파일 이 하나 더 생 겼 습 니 다. 오래된 nginx 메 인 프로 세 스 의 pid 를 기록 합 니 다.
2. WINCH 신호 로 오래된 작업 프로 세 스 닫 기
kill -WINCH `cat logs/nginx.pid.oldbin`  

kill -WINCH `cat logs/nginx.pid.oldbin`

이 때, 오래된 nginx 메 인 프로 세 스 는 아직 닫 히 지 않 았 습 니 다. 오래된 nginx 작업 프로 세 스 만 닫 혔 습 니 다.정상적으로 3 부 를 수행 할 수 있다 면
3. QUIT 신호 로 오래된 nginx 메 인 프로 세 스 를 닫 습 니 다.
kill -QUIT `cat logs/nginx.pid.oldbin`  

kill -QUIT `cat logs/nginx.pid.oldbin`

이렇게 하면 업 그 레이 드 됩 니 다. 새로운 메 인 프로 세 스 가 종료 되면 오래된 메 인 프로 세 스 는. oldbin 접 두 사 를 제거 하고. pid 파일 로 복 구 됩 니 다. 그러면 모든 것 이 업그레이드 전 으로 복 구 됩 니 다.
물론 2 부 에 서 는 잘못된 것 을 발견 할 수 있 습 니 다. 보완 할 수 있 습 니 다. 오래된 서버 를 복원 할 수 있 습 니 다.
이전 주 프로 세 스에 HUP 신 호 를 보 냅 니 다. - 설정 파일 을 다시 불 러 오지 않 은 상태 에서 작업 프로 세 스 를 시작 합 니 다. 새 주 프로 세 스에 QUIT 신 호 를 보 냅 니 다. 작업 프로 세 스 를 여 유 롭 게 닫 고 TERM 신 호 를 새 주 프로 세 스에 보 내 도록 합 니 다. 어떤 이유 로 새 작업 프로 세 스 가 종료 되 지 않 으 면 KILL 신 호 를 보 냅 니 다.

좋은 웹페이지 즐겨찾기