热升级流程
1. 将旧nginx文件换成新nginx文件(注意备份)
2. 向master进程发送USR2信号
3. master进程修改pid文件名,加后缀.oldbin
4. master进程用新nginx文件启动新master进程
5. 向老master进程发送WINCH信号,关闭老worker
6. 回滚:向老master发送HUP,向新master发送QUIT
备份二级制文件 因为升级只是升级2进制文件 并不会更换其他文件。
解压nginx-1.14.2.tar.gz
tar zxf nginx-1.14.2.tar.gz
cd nginx-1.14.2
vim auto/cc/gcc
#CFLAGS="$CFLAGS -g" ##注释掉(关闭debug日志)
./configure --prefix=/usr/local/nginx/
make
注意:不要make install,会导致原先的主程失控
1.先结束nginx进程
pkill nginx 杀掉全部nginx的进程
2.把nginx高版本的压缩包拷到服务器上,解压到/usr/local/src目录下
tar -zxvf nginx-1.14.2.tar.gz -C /usr/local/src
3.进行configure配置并编译
进入nginx-1.14.2目录,执行
./configure --prefix=/usr/local/nginx
然后执行编译(还是在nginx-1.14.2这个目录下)
make
备注:千万不要执行make install
4.把之前的nginx文件备份
进入/usr/local/nginx/sbin/目录
mv nginx nginx-old
然后返回nginx-1.14.2下的objs目录,把新的nginx拷贝过来
mv /usr/local/src/nginx-1.14.2/objs/nginx /usr/local/nginx/sbin/
拷贝过来之后nginx-1.14.2文件就可以删除了
5.到/usr/local/nginx/sbin下查看nginx版本,检出配置文件,启动nginx
启动
./nginx
升级完成