因 发现漏洞、需 定制开发小程序的版本进行更新,需要用到Nginx定制开发小程序服务器提供的平滑升级功能。定制开发小程序本文仅做备忘功能。
一、查看已安装的 Nginx 版本信息,configure 配置信息
## nginx 目录/usr/local/nginx/sbin/nginx -V
- 1
- 2
如图所示,得到 configure
的配置信息。
二、下载当前最新版本 nginx-1.23.2
,并通过Xftp上传至服务器,然后执行解压命令。
最新下载地址:
tar -zxvf nginx-1.23.2.tar.gz
- 1
三、对新版 nginx 进行配置。
### 参数与老版本参数保持一致cd nginx-1.23.2./configure --prefix=/usr/local/nginx --with-http_ssl_module
- 1
- 2
- 3
四、进行 make 编译
make
- 1
切记千万不要输入 make install
切记千万不要输入 make install
切记千万不要输入 make install
最新版本nginx的目录下会多出来一个objs目录,里面是新的 Nginx二进制文件,make install 的作用就是将二进制文件拷贝到指定的目录。
五、对老版本 sbin 目录下的 nginx 进行备份:
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
- 1
六、将步骤四中编译好的 objs
目录下的 nginx
文件,复制到 /usr/local/nginx/sbin
目录。
cp /apprun/nginx-1.23.2/objs/nginx /usr/local/nginx/sbin/nginx
- 1
七、make upgrade 命令升级
make upgrade
- 1
PS: 不用make upgrade 命令升级可以采用服务信号升级 ,升级方案不做阐述。原理基本一致,可以查看步骤 执行make upgrade的 输出中,也是执行以下服务信号命令。
## 测试Nginx配置是否正确/usr/local/nginx/sbin/nginx -t## 发送信号 USR2 给 Nginx 的Old版本对应的 master 进程。kill -USR2 `cat /usr/local/nginx/logs/nginx.pid### 检查 Nginx 的Old版本的进程文件是否存在 test -f /usr/local/nginx/logs/nginx.pid.oldbin### 关闭旧版本的Nginx进程kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
八 、检查升级后的版本
/usr/local/nginx/sbin/nginx -V
- 1