Skip to content

Latest commit

 

History

History
executable file
·
18 lines (15 loc) · 1.48 KB

Nginx工作原理.md

File metadata and controls

executable file
·
18 lines (15 loc) · 1.48 KB

#Nginx工作原理

Nginx原理图说明:

详细步骤:

一个master进程,生成一个或者多个worker进程。但是这里master是使用root身份启动的,因为nginx要工作在80端口。而只有管理员才有权限启动小于低于1023的端口。
  master主要是负责的作用只是启动worker,加载配置文件,负责系统的平滑升级。其它的工作是交给worker。
  那么当worker被启动之后,也只是负责一些web最简单的工作,而其他的工作都是有worker中调用的模块来实现的。
  模块之间是以流水线的方式实现功能的。
    流水线,指的是一个用户请求,由多个模块组合各自的功能依次实现完成的。
    比如:第一个模块只负责分析请求首部,第二个模块只负责查找数据,第三个模块只负责压缩数据,依次完成各自工作。来实现整个工作的完成。

如何实现热部署的呢?
  我们前面说master不负责具体的工作,而是调用worker工作,master负责读取配置文件,因此当一个模块修改或者配置文件发生变化,是由master进行读取,因此此时不会影响到worker工作。
  在master进行读取配置文件之后,不会立即的把修改的配置文件告知worker。而是让被修改的worker继续使用老的配置文件工作,当worker工作完毕之后,直接当掉这个子进程,更换新的子进程,使用新的规则。