最近客户进行漏洞检测,发现ngxin漏洞特别多,因此需要进行升级nginx。
我们的nginx是使用源码方式进行安装的,所以依然使用源码进行升级。
升级CentOS的NGINX,可以按照以下步骤进行操作:
1. 确认当前安装的NGINX版本和安装方式。
进入nginx安装目录后,可以使用以下命令查看NGINX版本号:
> cd /data/web/nginx-1.19.1
> sbin/nginx -v
如果是通过yum或者rpm安装的,则可以使用以下命令查看安装方式:
> rpm -qa | grep nginx
> yum list installed | grep nginx
2. 下载和安装新版本的NGINX。
可以到NGINX官网下载最新版本的NGINX压缩包,然后解压缩。
> tar -xzvf nginx-1.23.4.tar.gz
> cd nginx-1.23.4
在编译之前,需要安装一些依赖包:
> yum install gcc pcre-devel zlib-devel make openssl openssl-devel -y
如果不能在线安装,可以像我一样离线准备好了两个需要依赖的环境,目录为 pcre-8.43 openssl-1.1.1g。编译过程如下:
#pcre目录
> tar -zxvf pcre-8.43.tar.gz
> cd pcre-8.43
> ./configure && make && make install
# openssl-1.1.1g
> tar -zxvf openssl-1.1.1g.tar.gz
> cd openssl-1.1.1g
> ./config && make && make install
然后编译和安装NGINX,一定要改为自己的文件夹路径:
> ./configure --prefix=/data/web/nginx-1.23.4 --with-http_stub_status_module --with-http_ssl_module --with-pcre=/data/java/pcre-8.43 --with-openssl=/data/java/openssl-1.1.1g
make && make install
3. 停止并卸载旧版本的NGINX。
如果是通过yum或者rpm安装的旧版本NGINX,可以使用以下命令卸载,卸载之前最好备份一下配置文件和已经部署的文件:
> yum remove nginx -y
如果是通过源代码安装的,可以使用以下命令停止并备份:
> cd 原来nginx的安装路径
> sbin/nginx -s stop
> mv 原来nginx的安装路径 原来nginx的安装路径-back
4. 启动新版本的NGINX。
在安装完成后,需要将原来nginx下的配置文件,正式,发布的文件夹等复制到 新的nginx中,这步一定要保持和原来一致
复制文件后,可以使用以下命令启动新的NGINX:
> cd /data/web/nginx-1.23.4
> ./sbin/nginx
如果想要开机启动NGINX,可以将以下命令添加到/etc/rc.local文件中:
/data/web/nginx-1.23.4/sbin/nginx
新的nginx升级并运行成功后,待线上稳定运行一段时间,原来的nginx即可删除。
以上就是升级CentOS的NGINX的步骤。请注意备份配置文件,以免升级过程中出现意外损失数据。