首頁 > 運維 > Nginx > 主體

nginx熱更新是什麼意思

(*-*)浩
發布: 2022-06-07 15:01:20
原創
4928 人瀏覽過

nginx熱更新就是在作業系統不關軟體直接更新,更新期間軟體直接用。 NginX採用Master/Worker的多進程模型,Master進程負責整個NginX進程的管理。 Nginx的模組化、熱更新、Http處理流程、日誌等機制都非常經典。

nginx熱更新是什麼意思

配置熱更新

#NginX的設定修改之後,在不影響目前服務的情況下進行更新。

訊號: HUP

過程: 分為Master部分和Worker部分。

Matser進程:

1> 通过ngx_signal_hanlder解析出获取的信号,置ngx_reconfigure=1,标识Master要进行配置热更新操作。

2> 调用ngx_init_cycle初始化新的cycle(重新加载nginx.conf以及各模块的初始化)。

3> 调用ngx_start_worker_process启动新的Worker子进程,子进程标识just_respwan=1(NGX_PROCESS_JUST_RESPAWN)表示刚启动,区分新旧进程。

4> 调用ngx_start_cache_manager启动新的cache manager子进程和cache loader子进程。子进程标识just_respawn=1(NGX_PROCESS_JUST_RESPAWN)表示刚启动,区分新旧进程。

5> 睡眠100毫秒之后,调用ngx_signal_worker_process优雅的关闭老的worker、cache manager和cache loader进程。注意:只向just_respawn=0的进程进行发送信号。
登入後複製

Worker進程:

1> 通过ngx_signal_handler解析出为QUIT信号,置ngx_quit=1
2> 调用ngx_close_listening_sockets关闭监听端口。设置ngx_exting=1
3> 如果定时器红黑树中为空,执行ngx_worker_process_exit退出。
登入後複製

注意: 

#
进程状态标识: 
NGX_PROCESS_RESPAWN    ->     respawn =1   表示子进程退出后 执行重启操作。
NGX_ PROCESS_JUST_RESPAWN   ->   just_spawn = 1  respawn = 1     表示子进程为刚创建的进程,已区别与老的子进程 以及子进程退出后 执行重启操作。
NGX_PROCESS_JUST_SPAWN      ->        just_spawn =1             表示子进程为刚创建的进程,已区别与老的子进程 
NGX_PROCESS_DETACHED    -> detached = 1     没有亲缘关系,不需要建立通信信道   譬如Binary热更新。
登入後複製

更多Nginx相關技術文章,請造訪Nginx使用教學欄位進行學習!

以上是nginx熱更新是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板