執行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...