1. Nginx服务器架构
  1. 主进程:Nginx配置文件解析、数据结构初始化、模块配置和注册、信号处理、网络监听生成、工作进程生成和管理等。
  2. 工作进程:进程初始化、模块调用和请求处理等。
  3. 代理转发
  4. 在本地缓存历史应答数据
  5. Nginx服务器架构示意图如下:
  1. Nginx服务器的进程:
  1. 主进程:主要功能是与外部通信和对内部其他进程进行管理。
  1. 读取Nginx配置文件并验证其正确性和有效性。
  2. 建立、绑定和关闭socket。
  3. 按照配置生成、管理和结束工作进程。
  4. 接收外界指令,比如重启、升级和关闭等指令。
  5. 不中断服务,实现平滑重启,应用新配置。
  6. 不中断服务,实现平滑升级,升级失败进行回滚处理。
  7. 开启日志文件,获取文件描述符。
  8. 编译和处理perl脚本。
  1. 工作进程:
  1. 接收客户端请求。
  2. 将请求依次送入各个功能模块进行过滤处理。
  3. IO调用,获取响应数据。
  4. 与后端服务器通信,接收后端服务器处理结果。
  5. 数据缓存,访问缓存索引、查询和调动缓存数据。
  6. 发送请求结果,响应客户端请求。
  7. 接收主进程指令,比如升级、重启和退出等指令。
  1. 缓存索引重建及管理进程:
  1. 缓存索引重建进程(Cache Loader):
  1. 生存时间:在Nginx服务器启动一段时间(默认是1分钟)后,由主进程生成,在缓存元数据重建完成后自动退出。
  2. 主要功能:根据本地磁盘上的缓存文件在内存中建立索引元数据库。
  1. 缓存索引管理进程(Cache Managee):
  1. 生存时间:一般存在于主进程的整个生命周期中。
  2. 主要功能:对元数据是否过期做出判断。
  1. 进程交互:
  1. Master-Worker交互和Worker-Worker交互,都依赖于管道机制。
  2. 具体处理查看源码??
  1. Run Loops事件处理循环模型:
  1. 木有理解。