Nginx

一、进程模型

  Nginx采用多线程模型,单Master多worker,由Master处理外部信号、配置文件的读取及worker的初始化,worker进程采用单线程、非阻塞的事件模型(EventLoop,事件循环)来实现端口的监听以及客户端请求的处理和响应,同时Worker还要处理来自Master的信号,由于worker采用单线程处理各种事件,所以一定要保证住循环是非阻塞的,否者或大大降低worker的响应能力。

二、Nginx处理Http请求的过程

NGX_HTTP_POST_READ_PHASE  -------------------------  读取请求

NGX_HTTP_SERVER_REWRITE_PHASE  -------------------------  这个阶段主要是处理全局(server block)的rewrite

NGX_HTTP_FIND_CONFIG_PHASE  -------------------------  这个阶段主要是通过uri来查找对应的location,然后根据loc_conf设置相应变量

NGX_HTTP_REWRITE_PHASE  -------------------------  这个阶段主要是处理location的rewrite

NGX_HTTP_POST_REWRITE_PHASE  -------------------------  postrewrite,这个阶段主要是进行一些校验及收尾工作,以便交给后面的模块

NGX_HTTP_PREACCESS_PHASE  -------------------------  类似流控这种类型的access就在此阶段,即它主要是进行一些比较粗颗粒度的access

NGX_HTTP_ACCESS_PHASE  -------------------------  类似存取控制,权限验证就放在这个阶段,一般来说处理动作是交给下面的模块做的,这个主要是做一些细粒度的access

NGX_HTTP_POST_ACCESS_PHASE  -------------------------  一般来说,当上面的access模块得到access_code之后就会由这个模块根据access_code来进行操作。

NGX_HTTP_TRY_FILES_PHASE  -------------------------  try_files模块,就是对应配置文件中的try_files指令,可接收多个路径作为参数,当前一个路径的资源无法找到,则自动查找下一个路径。

NGX_HTTP_CONTENT_PHASE  -------------------------  内容处理模块

NGX_HTTP__LOG_PHASE  -------------------------  log模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值