CentOS下nginx版本平穩升級記錄
起因:系統漏洞掃描出高危漏洞 :CVE-2019-9513 / CVE-2019-9511 / CVE-2019-9516,需升級nginx。
下載地址:https://nginx.org/en/download.html,選擇了穩定版本1.22.1。
將下載好的原始碼包上傳至伺服器路徑/usr/local/nginx(原nginx安裝路徑),並進入該目錄。
解壓:
tar -zxvf nginx-1.22.1.tar.gz
解壓後,進入nginx-1.22.1資料夾下進行編譯:
# 執行這步之前要先查一下編譯引數,要和之前的一致,查詢命令…/nginx/sbin/nginx -V(大V查引數,小v查版本)
例如:我之前的低版本的nginx安裝在/usr/local/nginx下,
[approot@lnx-xxxx-xxx nginx]$ /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.15.10 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --with-http_stub_status_module --with-http_ssl_module
可以看見configure arguments:xxxxx這些引數。
下面在nginx-1.22.1資料夾檔案下執行:
./configure --with-http_stub_status_module --with-http_ssl_module
注意:./configure後面的--prefix=......引數是你之前版本的nginx -V 下的configure arguments:xxxx內的引數 原封不動的貼上過來。回車執行後會執行一大堆東西。
接下來需要再執行make命令:
make #注意: 執行編譯,切記不要安裝也就是不要去執行 make install
執行完畢後下面就是需要備份原有nginx版本了
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
再把nginx-1.22.1的下面的nginx啟動檔案複製到/usr/local/nginx/sbin/下
cp /usr/local/nginx-1.22.1/objs/nginx /usr/local/nginx/sbin
到這裡基本以完成了 下面就是進行重啟nginx
cd /usr/local/nginx/sbin/nginx
#關閉之前服務
./nginx.old -s stop
#啟動新本版服務
./nginx
#不報錯說明已經完成重啟。可以正常使用了
#檢視版本
[approot@lnx-xxxx-xxx sbin]$ ./nginx -V
nginx version: nginx/1.22.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --with-http_stub_status_module --with-http_ssl_module
已更新至新版本,在原有的nginx服務上跟新版本,原有配置檔案不會受到影響,經過nginx的服務可正常使用。