nginx源码分析-2

这一章内容讲述nginx进程的创建和工作进程是如何开展工作的。

  1. ngx_cycle_s结构体是nginx中非常重要的结构体之一,它代表了nginx运行时的环境。在nginx的生命周期中用于保存各种与运行时状态相关的信息。
    nginx源码分析-2_第1张图片
  2. 在ngx_start_worker_processes中会根据配置的工作进程数量,使用ngx_spawn_process函数创建新的进程,用于启动子进程来处理网络连接、缓存刷新、日志切割等任务。

nginx源码分析-2_第2张图片
请添加图片描述

  • cycle:指向当前的ngx_cycle_t对象,包含nginx运行时信息
  • proc:指向新创建的子进程应该执行的回调函数
  • data:传递给回调函数的额外参数
  • name:子进程的名称
  • respawn:表示在进程退出时是否重新启动
  1. ngx_worker_process_cycle:传递给ngx_spawn_process的回调函数,是nginx工作进程的主循环,负责创建共享内存、设置信号处理、进入事件循环、处理定时器、处理连接和请求、关闭连接和资源清理。

nginx源码分析-2_第3张图片

  1. ngx_process_events_and_timers是负责处理事件和定时器的函数,它会处理所有待处理的事件,包括新的连接请求、已建立连接的读/写事件等,同时可以处理比如关闭空闲连接、定期检查后端服务器健康状态等定时器事件。这个函数的调用是异步的,不会阻塞运行。具体内容之后再做分析。

nginx源码分析-2_第4张图片

你可能感兴趣的:(nginx)