CentOS7服务器 Nginx离线升级教程
Nginx使用的版本 ≤ 1.21.5的Nginx版本存在漏洞。所以需要对Nginx进行升级。具体教程如下:
1、确认安装的Nginx版本
- 在任意目录下输入nginx -v,即可查看当前版本
[root@master /]# nginx -v
nginx version: nginx/1.12.2
[root@master /]#
- 如果无法直接使用nginx命令,可以进入到nginx文件的目录下执行,一般nginx在安装后,执行文件会在/usr/sbin/目录下
[root@master /]# cd /usr/sbin/
[root@master sbin]# ls nginx
nginx
[root@master sbin]# ./nginx -v
nginx version: nginx/1.12.2
[root@master sbin]#
- 还不行?使用find命令查询nginx执行文件的所在目录,看看哪个比较像。
[root@master /]# find -type f -name nginx
./etc/sysconfig/nginx
./etc/logrotate.d/nginx
./usr/sbin/nginx
[root@master /]# /usr/sbin/nginx -v
nginx version: nginx/1.12.2
[root@master /]#
去nginx官网下载想要升级的tar包
官方网站地址:http://nginx.org/download/

服务器可以连公网的话可以直接wget下载
wget http://nginx.org/download/nginx-1.21.6.tar.gz
3、上传新版本、解压
从Nginx官网下载了个新的nginx包,1.22.0,开启了我的更新之旅。
可将下载的安装包上传到任意目录,并进行解压。
[root@master /]# cd home/
[root@master home]# rz
# 解压
[root@master home]# tar -zxvf nginx-1.22.0.tar.gz
4、配置
[root@master home]# ls
nginx-1.22.0 nginx-1.22.0.tar.gz
[root@master home]# cd nginx-1.22.0
# 如果是https协议访问的话,需要在后面添加 --with-http_stub_status_module --with-http_ssl_module
[root@master nginx-1.22.0]# ./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx
5、编译
注意:只执行make命令就行,不需要执行make install。
[root@master nginx-1.22.0]# make
6、替换nginx执行文件
# 查找nginx文件位置
[root@master nginx-1.22.0]# find -type f -name nginx
./objs/nginx
# 备份原来的文件
[root@master nginx-1.22.0]# mv /usr/sbin/nginx /usr/sbin/nginx-old-1.12.2
# 将新文件拷贝到可执行目录下
[root@master nginx-1.22.0]# cp ./objs/nginx /usr/sbin/
7、启动nginx
[root@master nginx-1.22.0]# systemctl start nginx
8、重新查看nginx版本
[root@master nginx-1.22.0]# nginx -v
nginx version: nginx/1.22.0
[root@master nginx-1.22.0]#