本篇文章针对使用oneinstack(https://oneinstack.com/)或者lnmp(https://linuxeye.com/31.html)一键安装包背景,需要注意的一些地方。
首先是需要更新nginx的时候将源码包下载解压到"src"目录,nginx1.9版本之前使用的spdy模块编译参数是
--with-http_spdy_module
nginx1.9及其往后模块升级成
--with-http_v2_module
当所有需要的源码都到位"src"里面之后,开始编译
make
完成编译之后,新版本nginx生成的可执行文件存在源码包"objs"目录里。然后进行平滑升级:
#先备份旧版本程序 mv /user/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx1.8.1 #复制新版本到执行目录 cp objs/nginx /usr/local/nginx/sbin/nginx #检测一下可执行程序和配置文件 /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf # 平滑升级 kill -USR2 `cat /var/run/nginx.pid` kill -WINCH `cat /var/run/nginx.pid.oldbin` kill -HUP `cat /var/run/nginx.pid.oldbin` kill -QUIT `cat /var/run/nginx.pid.oldbin`
总结一下:
新旧版本的nginx源码包放到同一个目录层级,防止configure(nginx -V)参数路径错误
升级前备份旧版本,以防出错可以回退
替换新版本之后要验证一下程序和配置