一、背景
今日公司内部有关部门,发现了系统正式环境服务器的一些安全隐患,其中就包括Nginx相关的漏洞
零日漏洞(zero-day)又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞。通俗地讲,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。这种攻击往往具有很大的突发性与破坏性。
当前Nginx版本:1.18.0
升级之后的版本:1.24.0(官网最新稳定版)
二、准备工作
1、nginx-1.24.0安装包下载
下载链接:软件下载-NGINX开源社区
2、上传到服务器
自行创建指定的安装路径
mkdir /usr/local/nginx -p
三、无感升级步骤
1、进入安装路径
cd /usr/local/nginx
2、解压安装包
tar -zxvf nginx-1.24.0.tar.gz
3、查看原Nginx(1.18.0版本)的配置参数
cd /usr/local/nginx/nginx-1.18.0/sbin
./nginx -V
4、复制并保存
--prefix=/usr/local/nginx/nginx-1.18.0 --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_sub_module --with-http_gzip_static_module --with-pcre --with-openssl=/icc/tools/openssl/openssl-1.1.1g
5、进入新版Nginx解压路径
cd /usr/local/nginx/nginx-1.24.0
6、执行配置
配置参数为原Nginx的配置参数
./configure --prefix=/usr/local/nginx/nginx-1.18.0 --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_sub_module --with-http_gzip_static_module --with-pcre --with-openssl=/icc/tools/openssl/openssl-1.1.1g
接着执行make命令,如果不是root用户,请使用sudo提权,不然会出现权限不足的异常
7、备份原Nginx的执行文件
mv /usr/local/nginx/nginx-1.18.0/sbin/nginx /usr/local/nginx/nginx-1.18.0/sbin/nginx_old
8、拷贝新的Nginx执行文件
cp /usr/local/nginx/nginx-1.24.0/objs/nginx /usr/local/nginx/nginx-1.18.0/sbin/nginx
9、命令升级
cd /usr/local/nginx/nginx-1.24.0/
sudo make upgrade
10、升级完成
四、验证
1、命令行验证
cd /usr/local/nginx/nginx-1.18.0/sbin
./nginx -V
2、系统访问