首先感謝http://www.aledk.com/587.html提供的升級方法
今天看到阿里雲漏洞預警:阿里云云盾應急響應中心監測到Nginx近日發佈安全更新,披露了三個可能致使服務器拒絕服務的漏洞:CVE-2018-1684三、CVE-2018-16844和CVE-2018-16845。位於Nginx HTTP/2 模塊和流媒體MP4模塊中。攻擊者經過構造特定的惡意HTTP請求,可遠程DoS服務器。
解決方案:
升級至Nginx最新安全版本(1.15.6或1.14.1)
那就升級吧。
1,查看安裝目錄:html
ps -ef | grep nginx | grep master | awk -F" " '{print $11}'
2,查看版本和舊版本編譯參數:nginx
/usr/local/nginx/sbin/nginx -V
須要記錄下configure arguments參數,用於新版本編譯安全
--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/lnmp1.4/src/openssl-1.0.2l --with-ld-opt='-ljemalloc'
3,下載升級版本:服務器
wget http://nginx.org/download/nginx-1.14.1.tar.gz
4,解壓下載好的文件阿里雲
tar xf nginx-1.14.1.tar.gz
5,並進入文件夾spa
cd nginx-1.14.1
6,進行編譯,./configure後面跟的就是第2步查看到的configure argumentscode
./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/lnmp1.4/src/openssl-1.0.2l --with-ld-opt='-ljemalloc'
7,只編譯不安裝htm
make,
8,備份舊版本:blog
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old,
9,替換舊的Nginx的執行程序進程
cp objs/nginx /usr/local/nginx/sbin/
10,舊版本中止接收請求,且處理完現有請求後關閉鏈接,中止(能夠查看nginx.conf文件找到pid保存的位置,這裏存放的目錄是/usr/local/nginx/logs/)
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
11,執行完畢後,能夠看到pid目錄多了存放了舊版本nginx的pid號
ls /usr/local/nginx/logs/
顯示:
nginx.pid nginx.pid.oldbin
12,關閉舊進程,完成順滑升級
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
13,查看升級後的版本
/usr/local/nginx/sbin/nginx -v
成功升級,漏洞修復。