高效能伺服器 Nginx之平滑公升級和版本回退

2021-10-06 18:46:00 字數 1856 閱讀 6254

執行nginx服務會開啟兩類程序:一類是master程序,一類是worker程序:

進行熱部署的前提條件:

熱部署:

其原理就是首先替換master程序,這個替換的master是與老版本的worker相容的。

下一步,保持還有連線的worker程序,待其老去退休,進行替換。

高度的模組化加上精巧的兩層模型,讓nginx成為大家非常熱愛的web service的實現方案。

為什麼要平滑公升級:

平滑公升級步驟:

tar zxf nginx-1.14.2.tar.gz 

yum install gcc openssl-devel pcre-devel -y

cd nginx-1.14.2

./configure --prefix=/usr/local/nginx

make && make install

cd /usr/local/nginx/sbin/

./nginx

netstat -antlp | grep nginx ##檢視埠資訊,80埠開啟

/usr/local/nginx/sbin/nginx -v ##檢視版本資訊,顯示1.14.2

/usr/local/nginx/sbin/nginx -v ##檢視編譯資訊

cp nginx nginx.old		##如果公升級的版本有問題,可以回退舊版本
tar zxf nginx-1.16.1.tar.gz 

cd nginx-1.16.1

./configure --prefix=/usr/local/nginx ##根據老版本的編譯選項對新版本進行編譯

make ##make結束不要make install

cd /usr/local/nginx/sbin/

cp-f /root/nginx-1.16.1/objs/nginx .

##覆蓋老版本的啟動指令碼

ps

-ef | grep nginx | grep -v grep ##檢視程序

kill

-usr2 5019 ##5019為nginx老程序的pid,此處應寫入自己程序的pid

kill

-winch 5019

注意:此時,原來nginx的master並沒有宕掉,只是不在接收請求,當有需要時,我們可以喚醒它

/usr/local/nginx/sbin/nginx -v	##顯示更新後的版本號,表示公升級成功

/usr/local/nginx/sbin/nginx -v

注意:

cd /usr/local/nginx/sbin

cp-f nginx.old nginx

kill

-hup 5019

kill

-usr2 7545

kill

-winch 7545

注意:分別輸入自己對應的新老版本的程序pid。

/usr/local/nginx/sbin/nginx -v		##回退到原來的舊版本

/usr/local/nginx/sbin/nginx -v

高效能Http伺服器nginx

nginx介紹 nginx是一款採用linux 2.6核心epoll新機制開發的web伺服器軟體,能極大地提高web訪問特別是小檔案訪問的i o效能,是c10k問題的乙個解決方案。在高併發連線的情況下,nginx是apache伺服器不錯的替代品。nginx同時也可以作為7層負載均衡伺服器來使用。高併...

高效能伺服器 Nginx之Rewrite規則

vim usr local nginx conf nginx.conf 修改 server server listen 80 server name www.yang.org rewrite 1表示使用者在這裡輸入的內容保留,只會重定向 1前面的內容 rewrite permanent 永久重定向 ...

Nginx高效能伺服器詳解(二)

nginx安裝 linux安裝 前提條件 gcc gcc c pcre pcre devel open openssl yum y install gcc gcc c automake pcre pcre devel zlib zlib devel open openssl devel config...