Nginx服务器启动后,产生一个主进程,主进程执行一系列工作后产生一个或多个工作进程。
如下图所示:Nginx服务器的结构大致分为主进程、工作进程、后端服务器和缓存。
主进程会建立一张工作进程表,存放所有未退出的,主进程通过一个单向管道向工作进程发送指令等信息。
工作进程之间的交互,首先要得到彼此的信息,建立管道通信。当工作进程w1需要向w2发送指令时,首先在主进程给它的其他工作进程信息中找到w2的进程ID,然后将正确的指令写入指向w2的通道。w2捕捉到管道中的时间后,解析指令并采取相应的措施。完成worker之间的交互
Run Loops指的是进程内部用来不停的调配工作,对事件进行循环处理的一种模型。