>운영 및 유지보수 >리눅스 운영 및 유지 관리 >nginx의 원활한 업그레이드를 위한 운영 튜토리얼

nginx의 원활한 업그레이드를 위한 운영 튜토리얼

巴扎黑
巴扎黑원래의
2017-07-19 11:13:291666검색

원활한 업그레이드 개요
Nginx는 원활한 업그레이드를 편리하게 도와줍니다. 원칙은 간단히 다음과 같이 요약됩니다.
(1) 이전 프로세스를 중지하지 않고 새 프로세스를 시작합니다.
(2) 이전 프로세스는 아직 처리되지 않은 요청 처리를 담당하지만 더 이상 처리 요청을 수락하지 않습니다.
(3) 새로운 프로세스는 새로운 요청을 수락합니다.
(4) 모든 요청을 처리하고 모든 연결을 닫은 후 이전 프로세스가 중지됩니다.
이렇게 하면 원활한 업그레이드가 쉬워집니다. 일반적으로 Nginx를 업그레이드해야 하는 상황에는 두 가지가 있습니다. 하나는 실제로 Nginx 버전을 업그레이드하는 것이고, 다른 하나는 Nginx에 새 모듈을 추가하는 것입니다.

업그레이드 프로세스
특정 작업도 다음과 같이 매우 간단합니다.

(0) 현재 버전 보기
Nginx 실행 파일이 저장된 디렉터리에 입력:

다음과 같이 코드를 복사합니다.

./nginx - V


(1) 새로운 Nginx 버전을 다운로드하고 컴파일합니다.

다음과 같이 코드를 복사하세요:

wget nginx-1.0.11.tar.gz
tar zxvf nginx-1.0.11.tar.gz
cd nginx-1.0.11
./configure --add-module= /customised_module_0 --add-module=/customized_module_1
make


make install


Download:

[root@liuawblizfpws~]#wget *.*.tar.gz (The 버전번호가 수정되었습니다)

Unzip:

[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (버전번호가 수정되었습니다)

그런데, nginx의 버전 번호가 특정 안전 효과로 수정되었습니다.

소스 코드 파일 수정:

[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h
#define NGINX_VERSION "*.$.&"(버전 번호)
#define NGINX_VER "net/" NGINX_VERSION(서버 이름)
다시 컴파일하기 전에 이전 nginx 설치 정보를 확인해야 합니다:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V
정보 가져오기(경로는 사람마다 다름):
nginx: 인수 구성: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with -http_ssl_module
컴파일하지만 설치되지 않았습니다. 컴파일 디렉터리 아래 objs 디렉터리에 있는 nginx 파일이 새 실행 파일입니다.
[root@liuawblizfpws nginx-0.*.*]#./configure --user= www --group =www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
[root@liuawblizfpws nginx-0.*.*]#make
원본 nginx 백업 파일:
[ root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
컴파일된 nginx 파일을 해당 실행 경로에 복사합니다:
cp ~ /nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx
원활한 업그레이드를 피하기 위해 테스트:
[root@liuawblizfpws ~]#/usr/local/nginx/sbin/ nginx -t
nginx: 구성 파일 /usr/local/nginx/conf/nginx.conf 구문이 괜찮습니다
nginx: 구성 파일 /usr/local/nginx/conf/nginx.conf 테스트가 성공했습니다
test 통과된 경우 nginx.pid를 nginx.pid.oldbin으로 수정하고 새 nginx를 시작합니다.
[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
종료 원본 nginx:
[root@liuawblizfpws ~]#kill -QUIT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`
확인:
[root@liuawblizfpws ~]#curl -I netonline .me
HTTP/1.1 200 OK
서버: net/*.$.&
날짜: 2010년 12월 9일 목요일 05:13:36 GMT

위 내용은 nginx의 원활한 업그레이드를 위한 운영 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.