Nginx 的模块与工作原理

 本文是学习《高性能 Linux 服务器构建实战:运维监控、性能调优与集群应用》笔记。

一直都认为,只有理解软件原理,才能更好的维护软件运行,所以在再次复习这本书时,重新写下笔记。

 

Nginx 由内核和模块组成。

Nginx 内核功能:通过查找配置文件将客户端请求映射到一个location block,而在这个location中所配置的指令将会启动不同到模块去完成相应到工作。

Nginx模块可以从结构上分为 核心模块、基础模块和第三方模块

核心模块:HTTP 模块、EVENT模块、MAIL模块

基础模块:HTTP Access 模块、‘HTTP FastCGI 模块、HTTP Proxy模块、HTTP Rewrite 模块

第三方模块:HTTP Upstream Request Hash 模块、Notice 模块、HTTP Access Key 模块

 

Nginx 的模块从功能上可以划分为三类

1 Handlers(处理模块):直接处理请求,并进行输出内容和修改headers信息等操作。handlers 处理模块一般只能有一个。

2 Filters(过滤模块):对处理器模块输出的内容进行修改操作,最后由Nginx 输出。

3 Proxies(代理类模块):与后端一些服务,如fastcgi 等操作交互,实现服务代理和负载均衡等功能。

 

Nginx 工作模式可以分为两类

单工作进程模式:主进程 +  一个单线程的工作进程

多工作进程模式:主进程  + 多个工作进程(每一个工作进程包含多个线程)

Nginx 默认的是单工作

 

你可能感兴趣的:(nginx,nginx模块,nginx工作原理)