测试环境
redhat 7.6
nginx-1.15.8升级为nginx-1.22.0
一、创建备份文件夹,备份旧版本:
mkdir -p /opt/backup/
cp -r /opt/e3/nginx-1.15.8 /opt/backup/
二、ftp上传或wget下载新版本文件:nginx-1.22.0.tar.gz
下载新版本:
mkdir -p /opt/backup/
cd /opt/backup/
wget http://nginx.org/download/nginx-1.22.0.tar.gz
三、解压文件(本次解压到/opt/backup/):
tar -zxf nginx-1.22.0.tar.gz
四、获取旧版本的编译安装信息:
查看旧版本的:configure arguments:
/opt/e3/nginx-1.15.8/sbin/nginx -V
五、根据旧版本信息,编译新版本的源码包,不执行安装(make install):
cd /opt/backup/nginx-1.22.0
#安装路径与旧版本必须相同
./configure --prefix=/opt/e3/nginx-1.15.8
make
六、备份二进制文件,用新版替换旧的
cd /opt/e3/nginx-1.15.8/sbin/
mv nginx nginx.old
cp /opt/backup/nginx-1.22.0/objs/nginx ./
七、确保配置文件不报错
opt/e3/nginx-1.15.8/sbin/nginx -t
八、发送USR2信号
[root@localhost e3]# ps -ef|grep nginx
root 13691 1 0 13:53 ? 00:00:00 nginx: master process /opt/e3/nginx-1.15.8/sbin/nginx
root 13692 13691 0 13:53 ? 00:00:00 nginx: worker process
root 18912 24978 0 16:35 pts/2 00:00:00 grep --color=auto nginx
kill -USR2 13691
九、WINCH信号
kill -WINCH 13691
十、发送QUIT信号
kill -QUIT 13691
十一、检查升级情况
#获取新版本的编译安装信息:
/opt/e3/nginx-1.15.8/sbin/nginx -V
#确保配置文件不报错
/opt/e3/nginx-1.15.8/sbin/nginx -t