nginx 바 이 너 리 핫 업데이트

4007 단어 nginxNginx
1, 업데이트 바 이 너 리
# cp /usr/loca/nginx/sbin/nginx  /usr/loca/nginx/sbin/nginxbak //  
# cp /usr/local/nginx-12.1/sbin/nginx/  /usr/loca/sbin/nginx  //     

2. 원래 nginx master 프로 세 스에 USR 2 신 호 를 보 냅 니 다.
# kill -USR2 `cat /var/run/nginx.pid`

 2.1 이 때 nginx 의 master 프로 세 스 와 work 프로 세 스 를 생 성 합 니 다.
# ps aux | grep nginx
root     20650  1.0  0.1 1336856 22536 ?       S    11:29   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   20655  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20656  0.0  0.3 1378468 54412 ?       S    11:29   0:00 nginx: worker process      
nobody   20657  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20658  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20659  0.0  0.0 1336856 12168 ?       S    11:29   0:00 nginx: cache manager process
nobody   20660  0.0  0.0 1336856 12048 ?       S    11:29   0:00 nginx: cache loader process
root     22250  0.0  0.1 1336856 22540 ?       S    11:10   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   22251  0.0  0.3 1378272 53356 ?       S    11:10   0:00 nginx: worker process      
nobody   22252  0.0  0.3 1378568 54728 ?       S    11:10   0:00 nginx: worker process      
nobody   22254  0.0  0.3 1378468 54416 ?       S    11:10   0:00 nginx: worker process      
nobody   22255  0.0  0.3 1378272 53356 ?       S    11:10   0:00 nginx: worker process      
nobody   22256  0.0  0.0 1336856 12172 ?       S    11:10   0:00 nginx: cache manager process

3. 원래 nginx 의 master 프로 세 스에 WINCH 신 호 를 보 냅 니 다. 두 번 째 절 차 를 실행 한 후에 오래된 nginx 프로 세 스 는 / var / run / 에서 오래된 pid 파일 을 생 성 합 니 다. / var / run / nginx. pid. oldbin 입 니 다.
# kill -WINCH `cat  /var/run/nginx.pid.oldbin`

 3.1 이 때 이전 nginx 의 work 진행 이 존재 하지 않 습 니 다.
# ps aux | grep nginx
hujingfu  1324  0.0  0.0 103304   848 pts/101  S+   11:30   0:00 grep nginx
root     20650  0.2  0.1 1336856 22536 ?       S    11:29   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   20655  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20656  0.0  0.3 1378468 54412 ?       S    11:29   0:00 nginx: worker process      
nobody   20657  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20658  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20659  0.0  0.0 1336856 12168 ?       S    11:29   0:00 nginx: cache manager process
nobody   20660  0.0  0.0 1336856 12048 ?       S    11:29   0:00 nginx: cache loader process
root     22250  0.0  0.1 1336856 22540 ?       S    11:10   0:00 nginx: master process /usr/local/nginx/sbin/nginx

4. 낡은 nginx 의 master 에 QUIT 신 호 를 보 내 출시
# kill -QUIT `cat /var/run/nginx.pid.oldbin`

 4.1 이때 오래된 nginx 의 모든 프로 세 스 가 출시 되 었 습 니 다. 새로운 nginx 가 발효 되 었 고 nginx 열 과 새로운 Binary 가 완성 되 었 습 니 다.
# ps aux | grep nginx
hujingfu  1502  0.0  0.0 103304   844 pts/101  S+   11:30   0:00 grep nginx
root     20650  0.1  0.1 1336856 22536 ?       S    11:29   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody   20655  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20656  0.0  0.3 1378468 54412 ?       S    11:29   0:00 nginx: worker process      
nobody   20657  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20658  0.0  0.3 1378272 53352 ?       S    11:29   0:00 nginx: worker process      
nobody   20659  0.0  0.0 1336856 12168 ?       S    11:29   0:00 nginx: cache manager process
nobody   20660  0.0  0.0 1336856 12048 ?       S    11:29   0:00 nginx: cache loader process

참조 링크:
http://www.cnblogs.com/sayou/p/3711918.html
http://blog.csdn.net/huzelin1008/article/details/43193991

좋은 웹페이지 즐겨찾기