nginx的平滑公升級(三)

2021-10-14 01:12:30 字數 3898 閱讀 7143

nginx -v  ##檢視nginx程式的版本

curl -i localhost ##檢視提供服務的nginx版本

(2)備份原程式:

cd /usr/local/lnmp/nginx/sbin

cp nginx nginx.old

(3)拷貝新程式:\cp -f /root/nginx-1.19.1/objs/nginx /usr/local/lnmp/nginx/sbin(1)獲取當前nginx主程序pid

[root@server1 sbin]

# ps ax |grep nginx ##獲取當前nginx主程序pid:

6926 ? ss 0:00 nginx: master process nginx

6927 ? s 0:00 nginx: worker process

6928 ? s 0:00 nginx: worker process

6943 pts/0 s+ 0:00 grep --color=auto nginx

(2)公升級新程式

[root@server1 sbin]

# kill -usr2 6926

[root@server1 sbin]

# ps ax |grep nginx

6926 ? ss 0:00 nginx: master process nginx

6927 ? s 0:00 nginx: worker process

6928 ? s 0:00 nginx: worker process

6944 ? s 0:00 nginx: master process nginx

6945 ? s 0:00 nginx: worker process

6946 ? s 0:00 nginx: worker process

6948 pts/0 s+ 0:00 grep --color=auto nginx

(3)關閉原worker程序但保留主程序:為了回退

[root@server1 sbin]

# kill -winch 6926

[root@server1 sbin]

# ps ax |grep nginx

6926 ? ss 0:00 nginx: master process nginx

6944 ? s 0:00 nginx: master process nginx

6945 ? s 0:00 nginx: worker process

6946 ? s 0:00 nginx: worker process

6950 pts/0 s+ 0:00 grep --color=auto nginx

(4)檢視nginx是否公升級成功

(1)將老版本的nginx程式還原:\cp -f nginx.old nginx

nginx -v  ##檢視nginx程式的版本

curl -i localhost ##檢視提供服務的nginx版本

(2)喚醒原程序:kill -hup pid(原)

[root@server1 sbin]

# kill -hup 6926

[root@server1 sbin]

# ps ax |grep nginx

6926 ? ss 0:00 nginx: master process nginx

6944 ? s 0:00 nginx: master process nginx

6945 ? s 0:00 nginx: worker process

6946 ? s 0:00 nginx: worker process

6966 ? s 0:00 nginx: worker process

6967 ? s 0:00 nginx: worker process

6969 pts/0 s+ 0:00 grep --color=auto nginx

(3)**新版本的worker程序:kill -winch pid(新)

[root@server1 sbin]

# kill -winch 6944

[root@server1 sbin]

# ps ax |grep nginx

6926 ? ss 0:00 nginx: master process nginx

6944 ? s 0:00 nginx: master process nginx

6966 ? s 0:00 nginx: worker process

6967 ? s 0:00 nginx: worker process

6971 pts/0 s+ 0:00 grep --color=auto nginx

[root@server1 sbin]

# ps ax |grep nginx

6926 ? ss 0:00 nginx: master process nginx

6944 ? s 0:00 nginx: master process nginx

6966 ? s 0:00 nginx: worker process

6967 ? s 0:00 nginx: worker process

6973 pts/0 s+ 0:00 grep --color=auto nginx

(4)關閉新版本主程序:kill -quit pid(新)

[root@server1 sbin]

# kill -quit 6944

6926 ? ss 0:00 nginx: master process nginx

6966 ? s 0:00 nginx: worker process

6967 ? s 0:00 nginx: worker process

6973 pts/0 s+ 0:00 grep --color=auto nginx

(5)檢查版本是否回退成功

nginx -v  ##檢視nginx程式的版本

curl -i localhost ##檢視提供服務的nginx版本

nginx平滑公升級

先來說下我今天要實驗nginx平滑公升級的環境,從nginx.1.8.0公升級到nginx1.9.5 大概的流程 nginx的程序分為master主程序和work工作程序,master程序主要管理事件訊號接受和分發,所有的請求處理都由work程序處理並返回結 果,nginx的平滑重啟或過載配置檔案等...

Nginx平滑公升級

原文 來自nginx官網 如果想要公升級nginx版本 或者在原本版上增加 刪除模組 同時保持服務不間斷,採用如下方式可滿足要求。1.使用新的二進位制檔案替換老的二進位制檔案,這需要注意的是nginx原始碼在執行make編譯後,不要直接make install,否則可能會覆蓋其他配置檔案,命令如下 ...

Nginx平滑公升級

有時,我們需要對我們的伺服器進行公升級更高版本。此時,如果我們強行將伺服器停止然後直接公升級,這樣原來在伺服器上執行著的程序就會被影響。如何解決這個問題呢?可以通過平滑公升級的方式來解決。平滑公升級時,不會停掉在執行著的程序,這些程序會繼續處理請求,但不會再接受新請求,在這些老程序在處理完還在處理的...