NGINX 学习笔记(二)

NGINX 学习笔记(二)

Posted by ZW on November 21, 2020

nginx 请求处理流程

图一

nginx 进程结构

master  管理 Worker 进程
    对外接口:接收外部的操作(信号)
    对内转发:根据外部的操作的不同,通过信号管理 Worker
    监控:监控 worker 进程的运行状态,worker 进程异常终止后,自动重启 worker 进程
worker
    实际处理:网络请求,由 Worker 进程处理;
    Worker 进程数量:在 nginx.conf 中配置,一般设置为核心数,充分利用 CPU 资源,
    同时,避免进程数量过多,避免进程竞争 CPU 资源,增加上下文切换的损耗。
worker
worker
cache manager  Cache Manager的功能是定期清理过期缓存(基本策略为LRU)
cache loader  Cache Loader的功能是将已经缓存文件映射到内存中

不使用线程而使用进程,线程共享内存,避免某个模块出错时,导致整个NGINX 奔溃
worker 数应当等于cpu 核数,并且与cup绑定提升性能

信号

nginx 子命令就是向master 进程发送信号

    reload --> hup
    reopen --> usr1
    stop -->term
    quit--->quit 

reload 流程

图二

nginx 热升级

图三

nginx 模块

前提编译进NGINX

提供哪些配置项

模块何时被使用

提供哪些变量

子模块

  • http
  • event
  • mail
  • stream

    模块分类

    图三