[root@localhost sbin]# whereis nginx https://nginx.org/en/download.html 本手册从1.24.0 升级到1.25.4 版本 tar xf nginx-1.25.4.tar.gz cd nginx-1.25.4 查看老版本参数---[root@localhost nginx-1.25.4]# /usr/sbin/nginx -V 其次 cd /opt/nginx-1.25.4 进入解压缩目录 ./configure --prefix= 填写红线中看到的完整路径 上图中红线部分是重点:/usr/sbin/nginx -V 查看到路径是什么就填写完成路径 [root@localhost nginx-1.25.4]# echo $? ## 判断编译是否成功 0 执行make 参数,不执行make install ## 不能执行make install 否则会覆盖文件 如果发现 objs 目录下没有nginx 目录文件,请执行make 参数,本次已经踩坑。 mv /usr/sbin/nginx /usr/sbin/nginx_$(date +%F) ####当前配置文件备份 当前 nginx_2023-03-12 就是备份文件 进 /opt/nginx-1.25.4/objs 复制nginx 目录去当前nginx 安装目录/usr/sbin/ Cd /opt/nginx-1.25.4 ### 进入解压缩目录 make upgrade [root@localhost objs]# /usr/sbin/nginx -t ### 验证当前启动文件正确性 图片中有 http2 warn Vi /etc/nginx/nginx.conf 配置文件 去掉图片中的http2 参数即可 出现 successful 说明正常 一个master 主进程 4 个worker 子进程,主进程号为26062,此处显示的还是老版本 nginx 进程号 [root@localhost nginx-1.25.4]# kill -USR2 26062 ###平滑升级 USR2 请不要写错 执行后查看 nginx 进程号会出现2 个 master 进程,第2个master 进程起来后说明新版本nginx 已经起来 此处也可以执行 kill -9 强制给老进程 kill ,也可以保留两个主进程,新版本有问题可以执行回退操作 执行HUP 指令 唤醒老版本 kill 新版本进程