本文摘自PHP中文网,作者(*-*)浩,侵删。
nginx热更新最简单的解释就是在操作系统不关软件直接更新,更新期间软件直接用。NginX采用Master/Worker的多进程模型,Master进程负责整个NginX进程的管理。Nginx的模块化、热更新、Http处理流程、日志等机制都非常经典。配置热更新
NginX的配置修改之后,在不影响当前服务的情况下进行更新。
信号: HUP
过程: 分为Master部分和Worker部分。
Matser进程:
1 2 3 4 5 6 7 8 9 | 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进程:
阅读剩余部分
相关阅读 >>
如何查看nginx日志
如何实现nginx高可用
nginx location是什么
nginx与tomcat区别
nginx是如何实现高性能的
404 not found nginx是什么意思
为什么nginx很快?
如何仅在nginx web服务器中启用tls1.2
traefik和nginx区别
nginx怎么增加ssl模块
更多相关阅读请进入《nginx》频道 >>
转载请注明出处:木庄网络博客 » nginx热更新是什么意思