nginx熱部署的原理分析:nginx -s reload
nginx熱部署的原理nginx -s reload
我們執(zhí)行這條命令的原因是希望 nginx 不停止服務(wù)始終在處理新的請(qǐng)求的同時(shí)把 nginx 的配置文件平滑的把舊的 nginx.conf 配置更新為新的 nginx.conf 配置。
這樣一個(gè)功能對(duì)于 nginx 非常有必要,但是有時(shí)候我們會(huì)發(fā)現(xiàn)在執(zhí)行 nginx -s reload 命令后,worker 子進(jìn)程的數(shù)量會(huì)變多了,這是因?yàn)槔系呐渲眠\(yùn)行的 worker 進(jìn)程長(zhǎng)時(shí)間沒(méi)有退出,當(dāng)使用 stream 做四層反向代理的時(shí)候,可能這種場(chǎng)景會(huì)更多。
nginx reload流程
- (1)向 master 進(jìn)程發(fā)送 HUP 信號(hào)(reload命令)
- (2)master 進(jìn)程校驗(yàn)配置文件語(yǔ)法是否正確
- (3)master 進(jìn)程打開新的監(jiān)聽端口
- (4)master 進(jìn)程用新配置啟動(dòng)新的 worker 子進(jìn)程
- (5)master 進(jìn)程向老 worker 子進(jìn)程發(fā)送 QUIT 信號(hào)
- (6)老 worker 進(jìn)程關(guān)閉監(jiān)聽句柄,處理完當(dāng)前連接后結(jié)束進(jìn)程

reload nginx可以兩種方式
(1)./nginx -s reload
(2)kill -HUP masterpid 即 kill -HUP `cat /opt/ngx/logs/nginx.pid`
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx部署多個(gè)vue項(xiàng)目的方法步驟
本文主要介紹了Nginx部署多個(gè)vue項(xiàng)目的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
Nginx access 日志通過(guò) Filebeat 8.15.5 寫
本文基于 Filebeat 8.15.5 版本,詳細(xì)實(shí)現(xiàn)了Nginx access日志到ES 8的采集流程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2025-12-12
Nginx+PHP(FastCGI)搭建高并發(fā)WEB服務(wù)器(自動(dòng)安裝腳本)第二版
Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建勝過(guò)Apache十倍的Web服務(wù)器(第5版) 編寫2011-04-04
Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略
這篇文章主要介紹了Nginx服務(wù)器做負(fù)載均衡反向代理的超級(jí)攻略,包括緩存的相關(guān)設(shè)定以及負(fù)載均衡的一些常見問(wèn)題的解決,極力推薦!需要的朋友可以參考下2015-08-08

