nginx平滑升级
目标: 旧版本 升级 新版本nginx
# wget nginx.tgz && tar zxvf nginx.tgz
# cd nginx
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=/opt/tools/openssl-1.0.2l/ --with-pcre-jit --with-ld-opt=-ljemalloc --with-debug --add-module=/opt/tools/nginx-module-vts-master/ --add-module=/opt/tools/nginx_upstream_check_module-master/ --add-module=/opt/tools/ngx_cache_purge-2.3/
# make
#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.backup
# mv objs/nginx /usr/local/nginx/sbin/nginx
# kill -USR2 `cat /var/run/nginx.pid` 将旧版本Nginx的主进程将重命名为nginx.pid.oldbin,并执行新版本的Nginx可执行程序,启动新的主进程和新的工作进程,再次生成新的nginx.pid文件
# kill -WINCH `cat /var/run/nginx.pid.oldbin` 平缓停止worker process(此步骤可省略)
# kill -QUIT `cat /var/run/nginx.pid.oldbin` 平缓停止旧的Nginx服务进程
补充
Nginx支持的信号
TERM,INT——快速关闭
QUIT 平滑关闭
HUP 平滑重启,重新加载配置文件
USR1 重新打开日志文件
USR2 平滑升级可执行程序
WINCH 平滑关闭工作进程