nginx的平滑公升級與版本回退

2021-10-03 06:29:22 字數 4671 閱讀 7975

用新的虛擬機器server3進行測試。

[root@server3 ~]# ls

nginx-1.14.2.tar.gz nginx-1.17.8.tar.gz

[root@server3 ~]# tar zxf nginx-1.14.2.tar.gz

[root@server3 ~]# ls

nginx-1.14.2 nginx-1.14.2.tar.gz nginx-1.17.8.tar.gz

[root@server3 ~]# cd nginx-1.14.2

[root@server3 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx

(2)啟動舊版本的nginx並檢視版本。

[root@server3 nginx-1.14.2]# cd /usr/local/nginx/sbin/

[root@server3 sbin]# ls

nginx

[root@server3 sbin]# ./nginx

[root@server3 sbin]# netstat -antlupe |grep nginx

tcp 0 0 0.0.0.0:80 0.0.0.0:* listen 0 22074 5018/nginx: master

[root@server3 sbin]# /usr/local/nginx/sbin/nginx -v

nginx version: nginx/1.14.2

[root@server3 sbin]#

不要將nginx的二進位制啟動檔案通過 ln -s 鏈結

必須使用nginx二進位制檔案的絕對路徑

(3)備份老版本的啟動指令碼

[root@server3 sbin]# cp nginx nginx.old

[root@server3 sbin]# ls

nginx nginx.old

[root@server3 sbin]#

(4)編譯新版本

[root@server3 ~]# ls

nginx-1.14.2 nginx-1.14.2.tar.gz nginx-1.17.8 nginx-1.17.8.tar.gz

[root@server3 ~]# cd nginx-1.17.8

[root@server3 nginx-1.17.8]# ls

auto changes changes.ru conf configure contrib html license man readme src

[root@server3 nginx-1.17.8]# ./configure --prefix=/usr/local/nginx

直接make 不能make && make install

(5) 複製新版本的啟動nginx到老版本的sbin下

cp -f ~/nginx-1.17.8/objs/nginx .

[root@server3 nginx]# cd sbin/

[root@server3 sbin]# ls

nginx nginx.old

[root@server3 sbin]# cp -f ~/nginx-1.17.8/objs/nginx .

cp: overwrite 『./nginx』? y

[root@server3 sbin]#

(6)關閉舊版本nginx的程序。啟動新版本的工作程序。

[root@server3 sbin]# ps -ef |grep nginx |grep -v grep

root 5018 1 0 17:29 ? 00:00:00 nginx: master process ./nginx

nobody 5019 5018 0 17:29 ? 00:00:00 nginx: worker process

[root@server3 sbin]# kill -usr2 5018

[root@server3 sbin]# ps -ef |grep nginx |grep -v grep

root 5018 1 0 17:29 ? 00:00:00 nginx: master process ./nginx

nobody 5019 5018 0 17:29 ? 00:00:00 nginx: worker process

root 10152 5018 0 18:46 ? 00:00:00 nginx: master process ./nginx

nobody 10153 10152 0 18:46 ? 00:00:00 nginx: worker process

[root@server3 sbin]#

[root@server3 sbin]# kill -winch 5018

[root@server3 sbin]# ps -ef |grep nginx |grep -v grep

root 5018 1 0 17:29 ? 00:00:00 nginx: master process ./nginx

root 10152 5018 0 18:46 ? 00:00:00 nginx: master process ./nginx

nobody 10153 10152 0 18:46 ? 00:00:00 nginx: worker process

[root@server3 sbin]#

發現,版本已經更新

[root@server3 sbin]# /usr/local/nginx/sbin/nginx -v

nginx version: nginx/1.17.8

[root@server3 sbin]#

[root@server3 sbin]# ls

nginx nginx.old

[root@server3 sbin]# cp -f nginx.old nginx

cp: overwrite 『nginx』? y

[root@server3 sbin]# ls

喚醒原來的舊程序,停掉新版本的工作程序。

[root@server3 sbin]# ps -ef |grep nginx |grep -v grep

root 5018 1 0 17:29 ? 00:00:00 nginx: master process ./nginx

root 10152 5018 0 18:46 ? 00:00:00 nginx: master process ./nginx

nobody 10153 10152 0 18:46 ? 00:00:00 nginx: worker process

[root@server3 sbin]# kill -hup 5018

[root@server3 sbin]# ps -ef |grep nginx |grep -v grep

root 5018 1 0 17:29 ? 00:00:00 nginx: master process ./nginx

root 10152 5018 0 18:46 ? 00:00:00 nginx: master process ./nginx

nobody 10153 10152 0 18:46 ? 00:00:00 nginx: worker process

nobody 10168 5018 0 18:52 ? 00:00:00 nginx: worker process

[root@server3 sbin]# kill -usr2 10152

[root@server3 sbin]# kill -winch 10152

[root@server3 sbin]# ps -ef |grep nginx |grep -v grep

root 5018 1 0 17:29 ? 00:00:00 nginx: master process ./nginx

root 10152 5018 0 18:46 ? 00:00:00 nginx: master process ./nginx

nobody 10168 5018 0 18:52 ? 00:00:00 nginx: worker process

[root@server3 sbin]#

可見,版本已經成功回退。

[root@server3 sbin]# /usr/local/nginx/sbin/nginx -v

nginx version: nginx/1.14.2

[root@server3 sbin]#

Nginx的安裝以及平滑公升級或版本回退(熱部署)

三.新舊版本二進位制系統檔案的替換 四.nginx的平滑公升級 五.公升級成功後的版本回退 安裝nginx nginx 1.17.1版本的配置 1 安裝原始碼編譯需要的軟體 注意 解壓之後的目錄以及檔案如上所示,其中 auto 目錄中 cc目錄 編譯,os目錄 判斷作業系統型別,lib和type目錄...

平滑重啟 nginx版本平滑公升級

軟體新版有了更棒的功能?當前版本有安全漏洞?架構調整,需要新版本來支援?這些場景是不是很熟悉?你可能條件反射的就說出 公升級版本啊!是的,運維人永遠無法避免的乙個工作就是軟體的版本公升級 本文舉例nginx1.13.9公升級到1.14.2版本,nginx主程序id是1533 將當前的nginx安裝目...

git本地版本回退與遠端版本回退 回滾

git log 該命令顯示從最近到最遠的提交日誌。commit e620a6ff0940a8dff91e0d252f30e4d138ec37be author tangshengqin 15527733782 163.com date wed jan 3 10 35 44 2018 0800 練習版...