Nginx服务模块详解

发布时间:2020-07-05 01:10:27 作者:wx5d2c2d660c282
来源:网络 阅读:852

Nginx 工作原理

Nginx 由内核和模块组成

Nginx 本身做的工作实际很少,当它接到一个 HTTP 请求时, 它仅仅是通过查找配置文件将此次请求映射到一个 location block,而此 location 中所配 置的各个指令则会启动不同的模块去完成工作,因此模块可以看做 Nginx 真正的劳动工作者。

通常一个 location 中的指令会涉及一个 handler 模块和多个 filter 模块(当然,多个 location 可以复用同一个模块)。handler 模块负责处理请求,完成响应内容的生成,而 filter 模块对响应内容进行处理。 用户根据自己的需要所开发的模块都属于第三方模块。正是有了这么多模块的支撑, Nginx 的功能才会如此强大。

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

核心模块:

HTTP 模块、EVENT 模块和 MAIL 模块; 

基础模块:

HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite 模块;

第三方模块:

HTTP Upstream Request Hash 模块、Notice 模块和 HTTP Access Key 模 块。

Nginx 的模块从功能上分为如下三类: 

Handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改 headers 信息等操作。Handlers 处理器模块一般只能有一个; 
Filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx 输出;
Proxies(代理类模块):此类模块是 Nginx 的 HTTP Upstream 之类的模块,这些模块主要与后端一些服务比如 FastCGI 等进行交互,实现服务代理和负载均衡等功能。

Nginx 的进程模型

在工作方式上,Nginx 分为单工作进程和多工作进程两种模式。

单工作进程模式:

除主进程外,还有一个工作进程,工作进程是单线程的; 

多工作进程模式:

每个工作进程包含多个线程。Nginx 默认为单工作进程模式。

Nginx 在启动后,会有一个 master 进程和多个 worker 进程。

master 进程

Nginx+FastCGI运行原理

Nginx服务模块详解

推荐阅读:
  1. Nginx服务——rewrite模块应用实战
  2. nginx的proxy模块详解以及参数

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux nginx ginx

上一篇:C#封送二维字符串数组到C++的示例

下一篇:Jquery表单验证

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》