Nginx服务器的三大类进程:
一、主进程
Nginx服务器启动时运行的主要进程。它的主要功能是与外界通信和对内部其他进程进行管理, 具体来说有以下几点:
1。读取Nginx配置文件并验证其有效性和正确性。
2.建立、绑定和关闭socket
3.按照配置生成、管理和结束工作进程
4.接收外界指令,比如重启‘、升级及退出服务器等指令。
5.不中断服务,实现平滑重启,应用新配置。
6.不中断服务,实现平滑升级,升级失败进行回滚处理。
7.开启日志文件,获取文件描述符。
8.编译和处理Perl脚本
二、工作进程
由主进程生成,生成数量可以通过Nginx配置文件指定,正常情况下生存于主进程的整个生命周期。该进程的主要工作有以下几项。
1。接收客户端请求
2.将请求依次送入各个功能模块进行过滤处理
3.IO调用,获取响应数据
4.与后端服务器通信,接收后端服务器处理结果
5.数据缓存,访问缓存索引,查询和调用缓存数据
6.发送请求结果,响应客户端请求。
7.接收主程序指令,比如重启、升级和退出等指令。
工作进程完成的工作还有很多。该进程是nginx服务器提供web服务、处理客户端请求的主要进程,完成nginx服务器的主体工作。因此,实际使用中,作为服务器管理者,我们应该重点监视工作进程的运行状态,保证Nginx服务器对外提供稳定的web服务。
三、缓存索引重建及管理进程
主要由缓存索引重建和缓存索引管理两类进程完成工作。
缓存索引重建进程是在Nginx服务器启动一段时间之后(默认是1分钟)由主进程生成,在缓存元数据重建完成后就自动退出;缓存索引管理进程一般存在于主进程的整个生命周期,负责对缓存索引进行管理。缓存索引重建进程完成的主要工作是,根据本地磁盘上的缓存文件在内存中建立索引元数据库。
缓存索引管理进程主要负责在索引元数据更新完成后,对元数据是否过期做出判断。