前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >服务器-Nginx设计架构

服务器-Nginx设计架构

作者头像
小二三不乌
发布2018-08-02 09:56:51
6660
发布2018-08-02 09:56:51
举报

服务器-Nginx设计架构

Nginx服务器架构

Nginx服务器启动后,产生一个主进程,主进程执行一系列工作后产生一个或多个工作进程。

如下图所示:Nginx服务器的结构大致分为主进程、工作进程、后端服务器和缓存。

  • 主进程主要进行:Nginx配置文件解析、数据结构初始化、模块配置和注册、信号处理、网络监听生成、工作进程生成和管理。
  • 工作进程主要进行:进程初始化、模块调用和请求处理等。
  • 缓存索引重建及管理进程:cache模块,主要由缓存索引重建和缓存索引管理两类进程完成。缓存索引重建是在Nginx服务启动一段时间后由主进程生成,在缓存元数据重建完成后自动退出。主要工作是:根据本地磁盘上的缓存文件在内存中建立索引元数据库,启动后对本地磁盘上存放缓存文件的目录结构进行扫描,检查内存中已有的缓存你数据元是否正确,并更新索引元数据库;缓存索引管理进程一般存在于主进程的整个生命周期,负责对缓存索引进行管理。主要负责对元数据是否过期做出判断。
进程交互
Master-worker交互

主进程会建立一张工作进程表,存放所有未退出的,主进程通过一个单向管道向工作进程发送指令等信息。

Worker-Worker交互

工作进程之间的交互,首先要得到彼此的信息,建立管道通信。当工作进程w1需要向w2发送指令时,首先在主进程给它的其他工作进程信息中找到w2的进程ID,然后将正确的指令写入指向w2的通道。w2捕捉到管道中的时间后,解析指令并采取相应的措施。完成worker之间的交互

Run Loops时间处理循环模型

Run Loops指的是进程内部用来不停的调配工作,对事件进行循环处理的一种模型。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 服务器-Nginx设计架构
    • Nginx服务器架构
      • 进程交互
        • Master-worker交互
        • Worker-Worker交互
      • Run Loops时间处理循环模型
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档