现在的位置: 首页 > 算法 > 正文

nginx热更新是什么意思

2020年01月06日 算法 ⁄ 共 1178字 ⁄ 字号 评论关闭

  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中文网其它相关文章!

抱歉!评论已关闭.