Linux --- Nginx 부 드 러 운 업그레이드 graceful
3094 단어 nginxgraceful부 드 러 운 업그레이드
Nginx 는 우리 가 부 드 러 운 업 그 레이 드 를 실현 하도록 편리 하 게 도와 주 었 다.그 원 리 는 간단하게 요약 하면 다음 과 같다.
(1) 오래된 프로 세 스 를 멈 추 지 않 고 새 프로 세 스 를 시작 합 니 다.
(2) 오래된 프로 세 스 가 처리 하 는 요청 이 아직 끝나 지 않 았 지만 처리 요청 을 받 아들 이지 않 습 니 다.
(3) 새 프로 세 스 가 새 요청 을 받 아들 입 니 다.
(4) 오래된 프로 세 스 가 모든 요청 을 처리 하고 모든 연결 을 닫 은 후에 중단 합 니 다.
이렇게 하면 부 드 러 운 업 그 레이 드 를 편리 하 게 실현 할 수 있다.일반적으로 두 가지 상황 에서 Nginx 를 업그레이드 해 야 한다. 하 나 는 Nginx 를 업그레이드 하 는 버 전이 고 다른 하 나 는 Nginx 에 새로운 모듈 을 추가 하 는 것 이다.
시작 하기 전에 현재 사용 하고 있 는 버 전 을 살 펴 보 세 요.
# /usr/local/nginx/sbin/nginx -V
nginx: nginx version: nginx/1.0.5
nginx: built by
gcc
4.1.2 20080704 (
Red Hat
4.1.2-50)
nginx: TLS SNI support disabled
nginx: configure arguments:
--user=www
--group=www --prefix=/usr/local/nginx --with-http_stub_status_module
--with-http_ssl_module --with-http_flv_module --with-cc-opt=-O3
--with-cpu-opt=opteron --with-http_gzip_static_module
※ 이것 은 이전에 컴 파일 된 매개 변수 입 니 다.새 버 전 당장 편집 해 야 돼.
2. 새 버 전 다운로드:http://nginx.org/en/download.html
그리고: 압축 풀기 > 이전의 준비 > 컴 파일
# tar zxvf nginx-1.0.5.tar.gz
# cdnginx-1.0.5
# ./configure
--user=www
--group=www
--prefix=/usr/local/nginx
--with-http_stub_status_module
--with-http_ssl_module
--with-http_flv_module
--with-cc-opt='-O3'
--with-cpu-opt=opteron
--with-http_gzip_static_module
#
make
3. 실행 이 끝 난 후, 여 기 는 make install 에서 이름 을 바 꾸 지 않 아 도 됩 니 다. / sbin / nginx 는 nginx. old 입 니 다.
# mv /usr/local//nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
4. 컴 파일 된 obbs 디 렉 터 리 에 있 는 nginx 파일 을 nginx 의 설치 디 렉 터 리 sbin / 아래로 복사 합 니 다.
# cp objs/nginx /usr/local/nginx/sbin/
5. 새로 복사 한 파일 의 효력 발생 상황 을 테스트 합 니 다.
# /usr/local/nginx/sbin/nginx -tnginx: the configuration file/usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is
successful
6. nginx 로 하여 금 nginx. pid 파일 을 nginx. pid. oldbin 으로 수정 하 게 하고 nginx 를 시작 하여 끊 임 없 는 작업 을 실현 합 니 다.
# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
## , ID .oldbin, ls /usr/local/nginx/logs
# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` ## , , QUIT , :kill -QUIT
7. 업그레이드 가 완료 되 었 습 니 다. 마지막 으로 업 그 레이 드 된 버 전 을 살 펴 보 겠 습 니 다.
# /usr/local/nginx/sbin/nginx -v
nginx: nginx version: nginx/1.0.5
tip:
현재 새 버 전 을 사용 할 지, 아니면 이전 버 전 으로 복원 할 지 결정 할 수 있 습 니 다.
kill - UP 오래된 주 프로 세 스 번호: Nginx 는 설정 파일 을 다시 불 러 오지 않 은 상태 에서 작업 프로 세 스 를 시작 합 니 다.
kill - QUIT 새 주 프로 세 스 번호 :작업 프로 세 스 를 여 유 롭 게 닫 습 니 다.
kill - TERM 새 주 프로 세 스 번호: 강제 종료
kill 새 주 프로 세 스 번호 나 오래된 주 프로 세 스 번호: 어떤 이유 로 새로운 작업 프로 세 스 가 종료 되 지 않 으 면 kill 신 호 를 보 냅 니 다.
새 메 인 프로 세 스 가 종료 되면 오래된 메 인 프로 세 스 는. oldbin 접 두 사 를 제거 하고 그의. pid 파일 로 복원 합 니 다. 그러면 모든 것 이 업그레이드 전 으로 복 원 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.