1. 场景描述
在线上环境下,为了最小化影响服务的正常使用,在这里采用不停服务对nginx进行热升级,也一定程度保障nginx不会出现旧版本安全漏洞。
2. 升级
官网下载:http://nginx.org/en/download.html
nginx 1.9.9升级至nginx 1.20.2
3. 整体备份
[root@laobai ~]# whereis nginx
nginx: /usr/local/nginx
[root@laobai ~]# cd /usr/local
[root@laobai ~]# cp -rf nginx nginx20220324
4. 升级
[root@laobai ~]# cd /usr/local
[root@laobai ~]# tar zxvf nginx-1.20.2.tar.gz
[root@laobai ~]# cd nginx-1.20.2/
[root@laobai ~]# ./configure --prefix=/usr/local/nginx
[root@laobai ~]# make
----切记不要执行make install,该命令是命令是安装,会覆盖原有文件夹
---升级重点就是这一行命令
[root@laobai ~]# cp -rf /usr/local/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/
[root@laobai ~]# make upgrade
说明
- 切记不要执行make install,该命令是安装,会覆盖原有文件夹
- 升级nginx,其实是升级的nginx的二进制文件,以下命令是重点:
[root@laobai ~]# cp -rf /usr/local/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/
5. 验证
[root@laobai ~]# cd /usr/local/nginx
[root@laobai ~]# cd sbin/
[root@laobai ~]# ./nginx -v
nginx version: nginx/1.20.2