nginx平滑升級

开心burukku發表於2024-07-25

官網下載最新的安裝版

下載地址
https://nginx.org/en/download.html
image

將下載的包上傳到伺服器後進行更新操作

解壓

tar xf nginx-1.27.0.tar.gz -C /usr/src

檢視當前nginx配置引數

nginx -v

nginx version: nginx/1.24.0
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: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-stream --with-stream_realip_module --with-stream_ssl_module

在新版本中進行編譯

cd /usr/src/nginx-1.27.0/ && ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-stream --with-stream_realip_module --with-stream_ssl_module

make

無需make install

對原來的nginx進行備份

where nginx
cd /usr/local/nginx/sbin
mv nginx nginx-1.24.0old
cd /usr/src/nginx-1.27.0/objs
cp ./nginx /usr/local/nginx/sbin/
nginx -V

nginx version: nginx/1.27.0
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: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-stream --with-stream_realip_module --with-stream_ssl_module

進行平滑升級替換

ps aux|grep nginx
可看到當前有一個master程序
傳送訊號給老版本程序

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

然後平滑關閉老程序

kill -QUIT `more /usr/local/nginx/logs/nginx.pid.oldbin`

相關文章