nginx处理的11个阶段

nginx处理用户请求的流程

接收用户请求头部之后

1 .匹配对应得location

2.是否进行限速

3.验证用户是否有权限访问该资源;和判断是否是盗链的请求

4.生成用户的响应报文

5.为了生成用户响应报文,可能作为代理服务需要向后端主机发送请求

6.给用户返回请求时要经过过滤模块,进行一些过滤处理如压缩等

7.在发送给用户响应时也会记录一条访问日志

nginx的处理用户请求的11 个阶段

1.个阶段POST_READ:这个阶段由realip这个模块处理;获取一些请求的原始值

2个阶段SERVER_REWRITE:这个阶段由rewrite这个模块处理

3个阶段FIND_CONFIG : 这个阶段由nginx的框架处理;做location的匹配

4个阶段REWRITE: 这个阶段由rewrite这个模块处理

5POST_REWRITE:

6PREACCESS:这个阶段由limt_conn与limit_req模块处理:在判断连接和处理请求的限制,如连接并发数量已经达到最高值limt_conn,或处理的请求数量已经达到limit_req

7.ACCESS:阶段是由auth_basic,access,auth_request;解决能不能访问资源的如用户名密码auth_basic是这个模块处理的,用户的IP是否可以访问时access模块处理的,auth_request 调第三方服务判断用户是否可以访问

8.POST_ACCEPT

9.PRECONTENT:这个阶段是由try_files模块处理

10.CONTENT :这个阶段是由index,autoindex,concat 模块处理;反向代理阶段等等

11. LOG:access_log记录日志

11个阶段处理顺

nginx 的请求处理阶段的更多相关文章

  1. nginx的请求处理

      nginx的请求处理¶ nginx使用一个多进程模型来对外提供服务,其中一个master进程,多个worker进程.master进程负责管理nginx本身和其他worker进程. 所有实际上的业务 ...

  2. nginx系列5:nginx的请求处理流程

    nginx的请求处理流程 如下图: nginx可以处理来自web(http),Email,TCP/UDP的三类请求. nginx底层使用非阻塞的事件驱动引擎,结合状态机来完成异步通知,其中处理Http ...

  3. Nginx 的请求处理流程,你了解吗?

    之前我们已经讲解了 Nginx 的基础内容,接下来我们开始介绍 Nginx 的架构基础. 为什么我们要讨论 Nginx 的架构基础? 因为 Nginx 运行在企业内网的最外层也就是边缘节点,那么他处理 ...

  4. PHP+FastCGI+Nginx动态请求处理配置

    Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对client动态页面请求的处理. CGI的英文全称为Common Gateway Interface(公共 ...

  5. nginx 的 content阶段的root指令与alias指令

    root 与alias指令 Syntax: alias path; Default: — Context: location Syntax: root path; Default: root html ...

  6. nginx的preaccess 阶段的limit_req模块与limit_conn模块

    limit_conn 模块限制并发连接数 [root@python vhast]# vim limit_conn.conf limit_conn_zone $binary_remote_addr zo ...

  7. nginx 的precontent阶段的ngx_http_try_files_module模块与mirrors模块介绍

    指令介绍 Syntax: try_files file ... uri; try_files file ... =code; Default: — Context: server, location ...

  8. Nginx开发从入门到精通 学习目录分享学习 (阿里著作)

    Nginx开发从入门到精通   缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部 ...

  9. Nginx 配置指令的执行顺序(一)

    大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个 location 配置块使用了多个 Nginx 模块的配置指令时,这些指令的执行顺序很可能会跟它们的书写顺序大相径庭.于是许多人选择了 ...

随机推荐

  1. Centos6.10-FastDFS-Tracker.conf示例配置

    Centos610系列配置 FastDFS_Tracker.conf示例配置 # is this config file disabled # false for enabled # true for ...

  2. java8date

    Java 8:新的时间和日期API 在Java 8之前,所有关于时间和日期的API都存在各种使用方面的缺陷,因此建议使用新的时间和日期API,分别从旧的时间和日期的API的缺点以及解决方法.Java ...

  3. python中的while

    while循环 循环就是一个重复的过程,不断的重复.while循环又称条件循环 while 条件: code 1 code 2 code 3 ... ##实现ATM的输入密码重新输入的功能 while ...

  4. 吴裕雄 python 人工智能——基于Mask_RCNN目标检测(2)

    import os import sys import itertools import math import logging import json import re import random ...

  5. 对象的上转型和下转型 (instanceof关键字)

    1.对象的上转型,就是多态的一种写法 格式:父类名称 对象名 = new 子类名称(): Animal animal = new Cat(); 含义:右侧创建一个子类对象,把它当作父类来使用 向上转型 ...

  6. 学习笔记(22)- plato-训练端到端的模型

    原始文档 Train an end-to-end model To get started we can train a very simple model using Ludwig (feel fr ...

  7. IoT生态不完善、与智能电视区别不大,荣耀智慧屏概念大于实际

    编辑 | 于斌 出品 | 于见(mpyujian) 前两天,华为荣耀略显"低调"地在北京召开了一场小型的媒体沟通会.在这场沟通会上,荣耀却颇为"重磅"地推出了坊 ...

  8. iOS 开发之函数式编程思想(Functional Programming)

    函数式编程(Functional Programming), 函数式编程强调的函数:1.不依赖外部状态:2.不改变外部状态. 函数式编程可解决线程安全问题,每一个函数都是线程安全的. 时间状态:变量一 ...

  9. 记一次深坑,dubbo暴露的服务无法注册到zookeeper的原因

    项目用的架构,springboot,dubbo,zookeeper dubbo的provider作为服务单独使用,里面的service实现类使用了@Transactional注解,想集成spring的 ...

  10. LFTP命令笔记

    安装 因为在OpenWrt命令行下scp传输文件很慢(只有2.5MB/s不到), 于是改用FTP下载. lftp是OpenWrt下的FTP客户端软件. 如果固件中未安装的话, 需要自己安装, 其依赖于 ...