Nginx - 服务器的进程

到目前为止,我们一共提到Nginx服务器的三大类进程:一类是主进程,另一类是由主进程生成的工作进程,还有刚才提到的用于为缓存文件建立索引的进程。

1. 主进程(Master Process)

Nginx服务器启动时运行的主要进程。它的主要功能是与外界通信和对内部其他进程进行管理,具体来说有以下几点:

■ 读取Nginx配置文件并验证其有效性和正确性。
■ 建立、绑定和关闭Socket。
■ 按照配置生成、管理和结束工作进程。
■ 接收外界指令,比如重启、升级及退出服务器等指令。
■ 不中断服务,实现平滑重启,应用新配置。
■ 不中断服务,实现平滑升级,升级失败进行回滚处理。
■ 开启日志文件,获取文件描述符。
■ 编译和处理Perl脚本。

2. 工作进程(Worker Process)

由主进程生成,生成数量可以通过Nginx配置文件指定,正常情况下生存于主进程的整个生命周期。该进程的主要工作有以下几项:

■ 接收客户端请求。
■ 将请求依次送入各个功能模块进行过滤处理。
■ IO调用,获取响应数据。
■ 与后端服务器通信,接收后端服务器处理结果。
■ 数据缓存,访问缓存索引、查询和调用缓存数据。
■ 发送请求结果,响应客户端请求。
■ 接收主程序指令,比如重启、升级和退出等指令。

工作进程完成的工作还有很多,我们在这里列出了主要的几项。从这些工作中可以看到,该进程是Nginx服务器提供Web服务、处理客户端请求的主要进程,完成了Nginx服务器的主体工作。因此,在实际使用中,作为服务器管理者,我们应该重点监视工作进程的运行状态,保证Nginx服务器对外提供稳定的Web服务。

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

图3.1中的Cache模块,主要由缓存索引重建(Cache Loader)和缓存索引管理(Cache Manager)两类进程完成工作。缓存索引重建进程是在Nginx服务启动一段时间之后(默认是1分钟)由主进程生成,在缓存元数据重建完成后就自动退出;缓存索引管理进程一般存在于主进程的整个生命周期,负责对缓存索引进行管理。

缓存索引重建进程完成的主要工作是,根据本地磁盘上的缓存文件在内存中建立索引元数据库。该进程启动后,对本地磁盘上存放缓存文件的目录结构进行扫描,检查内存中已有的缓存元数据是否正确,并更新索引元数据库。

缓存索引管理进程主要负责在索引元数据更新完成后,对元数据是否过期做出判断。

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放羊的牧码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值