nginx信號及平滑升級

1、nginx信號

nginx進程處理命令:

kill -signals PID

 

PID即nginx進程ID

 

signals的參數解釋如下所示:

 

TERM,INT快速關閉進程

QUIT優雅的關閉,如果有請求則等待請求結束後停止

HUP 重載新的配置文件,對於舊的進程還用舊的配置文件,新的進程會使用新的配置文件

USR1重新打開日誌文件,常用於日誌切割

USR2 使用新版本的 Nginx 文件啓動服務,之後平緩停止原有的 Nginx 進程,也就是所謂的“平滑升級”

WINCH平緩停止 worker process,用於 Nginx 服務器平滑升級

 

對於信號可以參考官網:

http://nginx.org/en/docs/control.html

 

2、平滑升級nginx

查看現在nginx的版本和編譯參數

# ./sbin/nginx -V

nginx version: nginx/1.14.2

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 

built with OpenSSL 1.1.0k  28 May 2019

TLS SNI support enabled

configure arguments: --prefix=/data/usr/nginx --with-zlib=/data/usr/src/zlib-1.2.11 --with-openssl=/data/usr/src/openssl-1.1.0k --with-pcre=/data/usr/src/pcre-8.41 --with-http_ssl_module --with-stream --with-stream_ssl_module

 

下載新版本nginx並上傳到服務器

解壓並編譯

# tar -zxvf nginx-1.16.0.tar.gz -C /data/usr/src

# cd /data/usr/src/nginx-1.16.0

# ./configure --prefix=/data/usr/nginx --with-zlib=/data/usr/src/zlib-1.2.11 --with-openssl=/data/usr/src/openssl-1.1.0k --with-pcre=/data/usr/src/pcre-8.41 --with-http_ssl_module --with-stream --with-stream_ssl_module

執行make但是不要執行make install

# make

 

備份老的nginx啓動文件,並拷貝新的文件

# cp /data/usr/nginx/sbin/nginx /data/usr/nginx/sbin/nginx.bak

# pwd

/data/usr/src/nginx-1.16.0

# cp -rpf objs/nginx /data/usr/nginx/sbin/nginx

 

使用新nginx啓動文件,舊的nginx.pid文件添加後綴.oldbin,變爲nginx.pid.oldbin,然後執行新版本的二進制文件啓動服務,新的nginx啓動後將會有新舊兩個版本的服務提供服務。

# kill -USR2 `cat /data/logs/nginx/nginx.pid`

 

# ll /data/logs/nginx/nginx*

-rw-r--r-- 1 root root 5 Sep  2 18:56 /data/logs/nginx/nginx.pid

-rw-r--r-- 1 root root 5 Sep  2 18:51 /data/logs/nginx/nginx.pid.oldbin

 

平緩停止worker process ,平緩停止舊的nginx服務

# kill -WINCH `cat /data/logs/nginx/nginx.pid.oldbin`
# kill -QUIT `cat /data/logs/nginx/nginx.pid.oldbin`

 

查看新版nginx的信息

# pwd
/data/usr/nginx/sbin
# ./nginx -V
nginx version: nginx/1.16.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
built with OpenSSL 1.1.0k 28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/data/usr/nginx --with-zlib=/data/usr/src/zlib-1.2.11 --with-openssl=/data/usr/src/openssl-1.1.0k --with-pcre=/data/usr/src/pcre-8.41 --with-http_ssl_module --with-stream --with-stream_ssl_module

 

參考:

https://blog.csdn.net/my1114/article/details/90717591

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章