一、Nginx降级实战:把nginx的版本从1.16.0降级为1.15.0(版本跨度太大可能编译不成功)
### --- Nginx降级实战:把nginx的版本从1.16.0降级为1.15.0(版本跨度太大可能编译不成功)
### --- 查看服务的版本
[root@cdeba90ec46e ~]# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.16.0
### --- 发现我们的nginx版本比较高,降级 // 我们降级需先知道降级的版本;降级到1.10.3版本,且不影响我们现有的服务。
~~~ 保留之前新版本的编译参数
~~~ 现有的nginx编译参数怎么查看
~~~ 复制之前的参数预编译使用
[root@cdeba90ec46e ~]# /usr/local/nginx/sbin/nginx -V // -V大写
nginx version: nginx/1.16.0
built by gcc 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)
configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module
### --- 需先将降级之后的版本解压。
~~~ -V查找出来的参数
~~~ 降级不执行make install,只执行make即可,只有安装的时候需要makeinstall
[root@cdeba90ec46e nginx-1.10.3]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module
~~~ 为什么二进制文件我们备份为.old文件,我们的服务没有收到任何影响:nginx调用文件的时候是调用文件的描述符,
~~~ 新的objs/nginx文件需让它生效,不生效还是使用之前的文件。
~~~ USR2陆续的把nginx.pid文件的程序一步步停掉。
[root@cdeba90ec46e nginx-1.15.0]# kill USR2 cat /usr/local/nginx/logs/nginx.pid
二、Nginx平滑升级:
### --- Nginx平滑升级:
~~~ 和nginx降级的方案一样,升级降级不必执行make install;
~~~ 我们只要nginx二进制文件即可,无需安装。