一、下载1.7.8

二、编译新版本的nginx

cd /usr/local/src


tar zxvf nginx-1.7.8.tar.gz


cd nginx-1.7.8


./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_spdy_module --with-http_stub_status_module --with-pcre --with-http_gzip_static_module


make


三、备份旧版本的nginx可执行文件,复制新版本的nginx可执行文件


cd /usr/local/nginx/sbin

mv nginx nginx.old20170321

cp /usr/local/src/nginx-1.7.8/objs/nginx ./


四、测试新版本nginx是否正常

/usr/local/nginx/sbin/nginx -t


五、平滑升级nginx


kill -USR2 `cat /var/run/nginx.pid`


六、旧版本nginx的pid变为了pid.oldbin

这是旧版本的nginx与新版本的nginx同时在运行,过段时间nginx处理完用户请求后,执行下面的操作即可。


七、关闭旧版本的nginx

kill -QUIT `cat /var/run/nginx.pid.oldbin`


八、验证nginx是否升级成功


/usr/local/nginx/sbin/nginx -V