前两天发现了阿里云漏洞预警,前两天一直没有时间处理,今天登录了阿里云发现了漏洞预警提示
Nginx HTTP/2和mp4模块远程拒绝服务漏洞
发现这是由于我的nginx版本过低导致了,我的nginx版本为nginx1.12.1,所以我需要升级nginx
1:获取旧版本nginx的信息及编译参数
#查找nginx的安装位置 ps -ef | grep nginx | grep master | awk -F" " '{print $11}' #查看nginx信息 /usr/local/nginx/sbin/nginx -V
下面截图是我升级nginx过后的图,升级之前忘记截图了.....
2:下载你需要的nginx
wget http://nginx.org/download/nginx-1.14.1.tar.gz
3:解压下载了nginx,并进行编译(注意这里不需要安装)
tar -zxvf nginx-1.14.1.tar.gz cd nginx-1.14.1 #./configure后面的参数为你刚刚查看旧版本nginx信息的configure arguments后面的参数 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-openssl=/root/soft/lnmp1.4/src/openssl-1.0.2l make
4:备份旧版本nginx的执行程序文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
5:替换旧版本的nginx执行程序文件
cp objs/nginx /usr/local/nginx/sbin/
6:发送USR2信号给旧版本主进程号,使nginx的旧版本停止接收请求,用nginx新版本接替,且老进程处理完所有请求,关闭所有连接后,停止
#nginx.pid文件地址可通过nginx.conf文件查看 kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
7:关闭旧进程,完成顺滑升级
cd /usr/local/nginx/logs kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
8:查看nginx版本是否升级成功
/usr/local/nginx/sbin/nginx -v
nginx升级成功