lnmp 升级nginx

前两天发现了阿里云漏洞预警,前两天一直没有时间处理,今天登录了阿里云发现了漏洞预警提示

Nginx HTTP/2和mp4模块远程拒绝服务漏洞

lnmp 升级nginx

发现这是由于我的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过后的图,升级之前忘记截图了.....

lnmp 升级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

lnmp 升级nginx

nginx升级成功