[root@ ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.5.7 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_auth_request_module --add-module=/data/src/nginx-upstream-fair-master
[root@ src]# tar xf nginx-1.10.2.tar.gz [root@ src]# cd nginx-1.10.2 [root@ src]# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_auth_request_module --add-module=/data/src/nginx-upstream-fair-master [root@ src]# make && make install
[root@ nginx-1.10.2]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` && sleep 1s
此时,系统中存在新旧两类nginx进程nginx
[root@ nginx-1.10.2]#lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 16717 root 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 16718 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 16719 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 16720 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 16721 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19567 root 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19568 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19569 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19570 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19571 www 9u IPv4 30087 0t0 TCP *:http (LISTEN)
[root@ nginx-1.10.2]# kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin` #关闭旧的子进程 [root@ nginx-1.10.2]# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` #关闭旧ningx主进程 [root@ nginx-1.10.2]# lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 19567 root 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19568 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19569 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19570 www 9u IPv4 30087 0t0 TCP *:http (LISTEN) nginx 19571 www 9u IPv4 30087 0t0 TCP *:http (LISTEN)
在执行关闭旧子进程前能够停留几分钟,或者在执行关闭旧子进程后停留几分钟,观察新进程是否正常。若是有异常能够进行回滚shell
[root@ nginx-1.10.2]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid.oldbin` #从新启动旧子进程 [root@ nginx-1.10.2]# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid` #退出新ningx主进程