Nginx学习笔记24Nginx定制开发的基础知识

1.1.1. Nginx体系布局

脚的Nginx体系布局图自以下网站:

http://www.aosabook.org/en/nginx.html

 图片 1

 

1.1.2. Nginx处理HTTP请求的11个阶段

Nginx处理HTTP请求的11独号如下所示,每个阶段随程序依次执行,每个阶段可以生出1只或多独HTTP处理模块进行处理。

 

 (1) NGX_HTTP_POST_READ_PHASE

   在Nginx读博到整体的HTTP Headers后底拍卖等。

 

 (2)NGX_HTTP_SERVER_REWRITE_PHASE

   于用请URL与location匹配之前的重定向。

 

  (3)NGX_HTTP_FIND_CONFIG_PHASE

   根据URL寻找匹配的location。

   

  (4)NGX_HTTP_REWRITE_PHASE

   找到location后,根据location的配置进行重新定向。

 

  (5)NGX_HTTP_POST_REWRITE_PHASE,

   以重定向后用于防止出现重定向的死循环,10不成重定向后报500荒唐。

 

  (6)NGX_HTTP_PREACCESS_PHASE,

   在授权访问控制之前的等级。

 

   (7)NGX_HTTP_ACCESS_PHASE,

   授权访问控制阶段,决定是否能看URL

 

(8)NGX_HTTP_POST_ACCESS_PHASE,

以授权访问控制做出决定后,发送决绝服务的数据。

 

(9)NGX_HTTP_TRY_FILES_PHASE,

try_files访问静态资源的级差。

 

(10)NGX_HTTP_CONTENT_PHASE,

拍卖HTTP请求的始末,开发第三着由定义模块时常为此的品。

 

(11)NGX_HTTP_LOG_PHASE

处理了要后记录走访日志。

 

 

1.1.3. Nginx处理HTTP请求的劳作流程

Nginx处理客户端请求的流程如下所示:

 

(1)客户端发送HTTP请求。

(2)Nginx选择适当的等处理器。

(3)负载均衡处理器选择一个上游主机。

(4)阶段处理器产生响应数据

(5)阶段处理器将应数据传递让第1个过滤器。

(6)第1只过滤依次以响应数据传递给末端的过滤器。

(7)最终应数据发送给客户端。

 

 

1.1.4. Nginx的模块

Nginx有以下几种植模块类型:

(a)事件模块(event module):

Nginx的事件处理机制,包括ngx_evens_module、ngx_event_core_module和ngx_epoll_module等模块。

(b)阶段处理模块(phase handler):

拍卖客户端请求和发生响应内容。

(c)过滤模块(output filter):

针对响应内容开展拍卖,比如修改响应内容,可实现数据压缩等作用。

(d)上游主机代理模块(upstream):

贯彻反向代理功能。

(e)负载均衡模块(load balancer):

依指定的抉择策略,从多独上游主机中选择一个来响应客户端的乞求。

 

Nginx完整的付出指南请参考:

http://nginx.org/en/docs/dev/development\_guide.html

 

相关文章