5.4 Nginx服务器架构

Nginx服务器启动后,产生一个主进程(master process),主进程执行一系列工作后产生一个或者多个工作进程(worker processes)

  • 主进程主要进行Nginx配置文件解析数据结构初始化模块配置和注册信号处理网络监听生成工作进程生成和管理等工作;

  • 工作进程主要进行进程初始化模块调用请求处理等工作,是Nginx服务器提供服务的主体。

在客户端请求动态站点的过程中,Nginx服务器还涉及和后端服务器的通信。Nginx服务器将接收到的Web请求通过代理转发到后端服务器,由后端服务器进行数据处理和页面组织,然后将结果返回。

另外,Nginx服务器为了提高对请求的响应效率,进一步降低网络压力,采用了缓存机制将历史应答数据缓存到本地在每次Nginx服务器启动后的一段时间内,会启动专门的进程对本地缓存的内容重建索引,保证对缓存文件的快速访问。

缓存索引重建及管理进程(Cache Loader & Cache Manager)

  • 缓存索引重建进程是在Nginx服务启动一段时间之后(默认是1分钟)由主进程生成,在缓存元数据重建完成后就自动退出; 缓存索引重建进程完成的主要工作是,根据本地磁盘上的缓存文件在内存中建立索引元数据库。该进程启动后,对本地磁盘上存放缓存文件的目录结构进行扫描,检查内存中已有的缓存元数据是否正确,并更新索引元数据库。

  • 缓存索引管理进程一般存在于主进程的整个生命周期,负责对缓存索引进行管理。 缓存索引管理进程主要负责在索引元数据更新完成后,对元数据是否过期做出判断

这两个进程维护的内存索引元数据库,为工作进程对缓存数据的快速查询提供了便利。

Last updated