- 环境:
[root@node-1 ~]# uname -a
Linux node-1 3.10.0-693.el7.x86_64
- 软件版本
在用:nginx/1.22.0
升级到nginx-1.23.1最新版本
详细步骤:
- 查看现用的nginx编译参数
[root@node-1 nginx-1.23.1]# /opt/nginx/sbin/nginx -V nginx version: nginx/1.22.0 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) configure arguments: --prefix=/opt/nginx --user=nginx --group=nginx--with-http_ssl_module
- 下载最新版本nginx
wget http://nginx.org/download/nginx-1.23.1.tar.gz
- 解压
[root@node-1 opt]# tar zxf nginx-1.23.1.tar.gz [root@node-1 opt]# cd nginx-1.23.1
- 备份旧的配置文件
[root@node-1 nginx-1.23.1]# cp /opt/nginx/conf/nginx.conf{,.bak}
- 编译
[root@node-1 nginx-1.23.1]# ./configure --prefix=/opt/nginx --user=nginx --group=nginx--with-http_ssl_module checking for OS + Linux 3.10.0-693.el7.x86_64 x86_64 ..................... .....................
- 执行make
[root@node-1 nginx-1.23.1]# make make -f objs/Makefile make[1]: Entering directory `/opt/nginx-1.23.1'
- 备份原nginx执行文件
[root@node-1 nginx-1.23.1]# mv /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx.bak
- 复制新的nginx执行文件到原路径
[root@node-1 nginx-1.23.1]# cp objs/nginx /opt/nginx/sbin/
- 执行make upgrade命令
[root@node-1 nginx-1.23.1]# make upgrade /opt/nginx/sbin/nginx -t nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok nginx: configuration file /opt/nginx/conf/nginx.conf test is successful kill -USR2 `cat /opt/nginx/logs/nginx.pid` sleep 1 test -f /opt/nginx/logs/nginx.pid.oldbin kill -QUIT `cat /opt/nginx/logs/nginx.pid.oldbin`
- 查看版本
[root@node-1 nginx-1.23.1]# /opt/nginx/sbin/nginx -v nginx version: nginx/1.23.1
此过程可以实现平滑(即不停服务)升级nginx