詳解nginx平滑升級的過程
1、開始之前首先查看當(dāng)前的使用版本以及編譯時(shí)的參數(shù):
[root@www ~]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.12.2 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
將編譯參數(shù)復(fù)制出來,編譯新版本的時(shí)候會用到。
2、下載新版本:http://nginx.org/en/download.html
cd nginx-1.14.0 ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make
3、執(zhí)行完成之后,不需要make install ,備份原來的二進(jìn)制啟動文件,然后將新版的啟動文件拷貝過去
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak [root@www nginx-1.14.0]# cp objs/nginx /usr/local/nginx/sbin/nginx
4、測試一下復(fù)制過來的文件是否生效:
[root@www nginx-1.14.0]# /usr/local/nginx/sbin/nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
5、發(fā)送USR2信號給nginx master 進(jìn)程(nginx服務(wù)接收到USR2信號后,首先會將舊的nginx.pid文件添加后綴.oldbin,變?yōu)閚ginx.pid.oldbin,然后執(zhí)行新版本的二進(jìn)制文件啟動服務(wù),如果新的服務(wù)啟動成功,系統(tǒng)中將有新舊兩個(gè)Nginx服務(wù)共同提供web服務(wù))
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` [root@www nginx-1.14.0]# ps -ef | grep nginx root 22644 1 0 23:30 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx www 22648 22644 0 23:30 ? 00:00:00 nginx: worker process root 25784 22644 0 23:47 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx www 25789 25784 0 23:47 ? 00:00:00 nginx: worker process
6、通過發(fā)送WINCH信號(平緩?fù)V箇orker process)和QUIT信號(平緩?fù)V筃ginx服務(wù))停止舊的Nginx服務(wù)進(jìn)程
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin` kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
7、升級完成,最后看一下nginx版本:
/usr/local/nginx/sbin/nginx -v nginx version: nginx/1.14.0
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
通過Nginx代理轉(zhuǎn)發(fā)配置實(shí)現(xiàn)跨域的方法(API代理轉(zhuǎn)發(fā))
這篇文章主要給大家介紹了關(guān)于如何通過Nginx代理轉(zhuǎn)發(fā)配置實(shí)現(xiàn)跨域(API代理轉(zhuǎn)發(fā))的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Nginx各個(gè)模塊的配置及常用配置選項(xiàng)
本文總結(jié)了Nginx常用配置選項(xiàng),包括url匹配優(yōu)先級、請求轉(zhuǎn)發(fā)、日志配置、超時(shí)配置、靜態(tài)文件處理以及負(fù)載均衡的各項(xiàng)算法,對Nginx?模塊配置相關(guān)知識感興趣的朋友一起看看吧2022-01-01
Nginx設(shè)置HTTPS監(jiān)聽的具體步驟
這篇文章主要介紹了Nginx設(shè)置HTTPS監(jiān)聽的具體步驟,在 Nginx 上設(shè)置 HTTPS 證書,并將所有 HTTP 請求重定向到 HTTPS,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-12-12
Nginx路由器匹配規(guī)則的實(shí)現(xiàn)示例
本文主要介紹了Nginx路由器匹配規(guī)則的實(shí)現(xiàn)示例,涵蓋精確匹配、正則匹配等,通過合理配置解決沖突,優(yōu)化反向代理與靜態(tài)資源處理,提升性能與穩(wěn)定性,感興趣的可以了解一下2025-05-05
Nginx默認(rèn)location?index設(shè)置網(wǎng)站的默認(rèn)首頁方法詳解
我們都知道index后面可以跟多個(gè)設(shè)置,如果訪問的時(shí)候沒有指定具體訪問的資源,則會依次進(jìn)行查找,找到第一個(gè)為止,這篇文章主要給大家介紹了關(guān)于Nginx默認(rèn)location?index設(shè)置網(wǎng)站的默認(rèn)首頁的相關(guān)資料,需要的朋友可以參考下2023-12-12

