nginx 的请求处理阶段
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 的请求处理阶段的更多相关文章
- nginx的请求处理
nginx的请求处理¶ nginx使用一个多进程模型来对外提供服务,其中一个master进程,多个worker进程.master进程负责管理nginx本身和其他worker进程. 所有实际上的业务 ...
- nginx系列5:nginx的请求处理流程
nginx的请求处理流程 如下图: nginx可以处理来自web(http),Email,TCP/UDP的三类请求. nginx底层使用非阻塞的事件驱动引擎,结合状态机来完成异步通知,其中处理Http ...
- Nginx 的请求处理流程,你了解吗?
之前我们已经讲解了 Nginx 的基础内容,接下来我们开始介绍 Nginx 的架构基础. 为什么我们要讨论 Nginx 的架构基础? 因为 Nginx 运行在企业内网的最外层也就是边缘节点,那么他处理 ...
- PHP+FastCGI+Nginx动态请求处理配置
Nginx不支持对外部程序的调用,所以必须通过FastCGI接口实现对外部程序的调用从而实现对client动态页面请求的处理. CGI的英文全称为Common Gateway Interface(公共 ...
- nginx 的 content阶段的root指令与alias指令
root 与alias指令 Syntax: alias path; Default: — Context: location Syntax: root path; Default: root html ...
- nginx的preaccess 阶段的limit_req模块与limit_conn模块
limit_conn 模块限制并发连接数 [root@python vhast]# vim limit_conn.conf limit_conn_zone $binary_remote_addr zo ...
- nginx 的precontent阶段的ngx_http_try_files_module模块与mirrors模块介绍
指令介绍 Syntax: try_files file ... uri; try_files file ... =code; Default: — Context: server, location ...
- Nginx开发从入门到精通 学习目录分享学习 (阿里著作)
Nginx开发从入门到精通 缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部 ...
- Nginx 配置指令的执行顺序(一)
大多数 Nginx 新手都会频繁遇到这样一个困惑,那就是当同一个 location 配置块使用了多个 Nginx 模块的配置指令时,这些指令的执行顺序很可能会跟它们的书写顺序大相径庭.于是许多人选择了 ...
随机推荐
- 题解【POJ2955】Brackets
Description We give the following inductive definition of a "regular brackets" sequence: t ...
- 关于AutoCompleteTextView的用法:根据输入的自动匹配关键词
- 511,display:inline-block什么时候不会显示间隙?
(百科: 在CSS布局中,如果我们想要将一些元素在同一行显示,其中的一种方法就是把要同行显示的元素设置display属性为inline-block,但是你会发现这些同行显示的inline-block元 ...
- ViewModel、LiveData、DataBinding
ViewModel ViewModel的引入 如果系统销毁或重新创建界面控制器,则存储在其中的任何临时性界面相关数据都会丢失.例如,应用的某个 Activity 中可能包含用户列表.因配置更改而重新创 ...
- Linux 服务器作为Nginx web服务器常见优化参数
内核参数调整cat /etc/sysctl.conf# sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/ ...
- mysql测试点
前言 性能测试过程中,数据库相关指标的监控是不可忽视的,在这里我们就MySQL的监控配置及重点涉及性能的一些参数进行说明. 在笔者的日常性能测试过程中,重点关注了这些参数,但不代表仅仅只有这些参数对性 ...
- LeetCode日常小习题
LeetCode练习题: 1.给定一个大小为 n 的数组,找到其中的众数.众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素. 你可以假设数组是非空的,并且给定的数组总是存在众数. 示例 1: 输入 ...
- MFC程序加打印(使用控制台)
对于MFC界面编程,在调试过程常常希望时刻知道程序的运行状态,可以使用弹窗程序来进行显示,但这种操作非常的麻烦,因此可以考虑使用控制台程序,在控制台程序中添加输出信息.方法如下: 在stdafx.cp ...
- c语言实现面向对象编程
1.通用校验器接口(validator.h) #ifndef VALIDATOR_H_INCLUDED #define VALIDATOR_H_INCLUDED #include<stdbool ...
- iOS 开发之 SDWebImage 底层实现原理分析
SDWebImage 是一个比较流行的用于网络图片缓存的第三方类库.这个类库提供了一个支持缓存的图片下载器.为了方便操作者调用,它提供了很多 UI 组件的类别,例如:UIImageView.UIBut ...