1、編譯安裝nginx-1.14.2:

# yum -y install gcc pcre pcre-devel zlib zlib-devel
# tar -xf nginx-1.14.2.tar.gz
# cd nginx-1.14.2
# ./configure --prefix=/usr/local/nginx
# make && make install
2、確保以絕對路徑的方式啟動(dòng)Nginx:
# /usr/local/nginx/sbin/nginx
備注:如果配置了環(huán)境變量PATH,且直接以nginx命令的方式啟動(dòng),之后執(zhí)行kill -USR2命令時(shí),/usr/local/nginx/logs/error.log錯(cuò)誤日志文件會(huì)提示execve() failed while executing new binary process "nginx" (2: No such file or directory)
# ss -tunlp | grep -w :80
瀏覽器訪問http://122.51.34.214/

3、查看升級前Nginx版本:
# /usr/local/nginx/sbin/nginx -v

4、編譯nginx-1.16.1:
# tar -xf nginx-1.16.1.tar.gz
# cd nginx-1.16.1
# ./configure --prefix=/usr/local/nginx
# make
備注:
(1)執(zhí)行configure命令時(shí)選項(xiàng)要比舊版本只多不少,執(zhí)行完成后會(huì)生成objs目錄
(2)執(zhí)行make命令用于在objs目錄下生成nginx二進(jìn)制文件
(3)不能執(zhí)行make install命令
5、使用ab命令壓測,模擬升級時(shí)的多并發(fā)訪問:
# yum -y install httpd-tools
# ab -n 10000 -c 20 http://122.51.34.214/
6、備份舊版本Nginx二進(jìn)制文件:# cp /usr/local/nginx/sbin/nginx{,_1.14.2}
7、將新版本Nginx二進(jìn)制文件強(qiáng)制替換舊版本二進(jìn)制文件(不替換配置文件):
# cp -f nginx-1.16.1/objs/nginx /usr/local/nginx/sbin/

# ll /usr/local/nginx/sbin/

8、向舊master進(jìn)程發(fā)送USR2信號,告知版本升級,舊master進(jìn)程首先將logs/nginx.pid文件重命名為nginx.pid.oldbin,然后運(yùn)行新版本Nginx二進(jìn)制文件,啟動(dòng)新master進(jìn)程,新master進(jìn)程啟動(dòng)新worker進(jìn)程,其中新master進(jìn)程的父進(jìn)程是舊master進(jìn)程
# ps -ef | grep nginx | grep -v grep
# kill -USR2 [old-master-pid]

9、向舊master進(jìn)程發(fā)送WINCH信號,告知其優(yōu)雅關(guān)閉舊worker進(jìn)程,但舊master進(jìn)程不會(huì)自動(dòng)退出:
# kill -WINCH [old-master-pid]

10、如果確認(rèn)新worker進(jìn)程正常工作,可以向舊master進(jìn)程發(fā)送QUIT信號,告知其自動(dòng)退出:
# kill -QUIT [old-master-pid]

11、查看升級后Nginx版本:
# /usr/local/nginx/sbin/nginx -v

12、更新并重新加載配置文件
附:如果新版本Nginx不能正常工作,需要回退至舊版本Nginx
1、向舊master進(jìn)程發(fā)送HUP信號,告知其啟動(dòng)舊worker進(jìn)程:
# kill -HUP [old-master-pid]
2、向新master進(jìn)程發(fā)送QUIT信號,告知其優(yōu)雅關(guān)閉新worker進(jìn)程并自動(dòng)退出:
# kill -QUIT [new-master-pid]
3、將nginx_1.14.2還原為nginx
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前名稱:Nginx版本平滑升級-創(chuàng)新互聯(lián)
路徑分享:http://www.chinadenli.net/article4/iigie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站營銷、虛擬主機(jī)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容