《实战nginx》第8章-Nginx模块开发

来源:互联网 发布:卷皮7.0源码 编辑:程序博客网 时间:2024/05/17 18:40

1、Nginx模块的3种角色:

(1) Handler处理请求模块--处理http请求并输出内容;  

(2)Filter过滤模块----用于过滤Handler输出的内容;

(3)Load-balance(负载均衡模块)

编写一个Nginx模块,配置Nginx.conf包括4个主要部分:

(1)main(全局)部分

(2)server(虚拟主机配置)

(3)upstream(反向代理部分)

(4)location(目录匹配部分)

Nginx模块的处理流程:客户端发送HTTP请求到Nginx服务器---->Nginx基于配置文件中的位置选择一个合适的处理模块---->负载均衡模块选择一台后端服务器(反向代理情况下)-->处理模块进行处理并把输出缓冲放到第一个过滤模块上--->第一个过滤模块处理后输出第二个过滤模块---->然后第二个过滤模块又到第三个过滤模块--->第N个过滤模块---->最后把处理结果发送给客户端。

2、Nginx的缓存

  Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存。

(1)proxy_cache指令

(2)proxy_cache_path指令

(3)proxy_cache_methods指令

(4)proxy_cache_min_uses指令

(5)proxy_cache_valid指令

(6)proxy_cache_key指令



0 0