加载中
nginx http模块11个阶段驱动模式详解

在nginx调用ngx_http_process_request_headers()方法读取完所有的header数据之后,就调用ngx_http_process_request()方法开始了请求的处理过程,这也就是nginx http模块开始处理请求的11个阶...

04/07 08:43
208
nginx request body读取流程详解

前面的文章中我们分别讲解了nginx是如何读取请求行和请求头数据的,在读取完请求头之后,nginx并不会直接读取请求体,而是直接进入http模块的11个阶段开始处理请求的数据。在这个过程中,如果...

03/31 10:18
4.7K
nginx请求头数据读取流程

在上一篇文章中,我们讲解了nginx是如何读取请求行的数据,并且解析请求行的。本文我们则主要讲解nginx是如何读取客户端发送来的请求头的数据,并且解析这些数据的。本质上来讲,请求行的数据...

03/24 10:26
4.2K
nginx请求行读取流程

在前面的文章中我们讲解了当一个请求到达时,nginx是如何建立连接并且读取数据的。在读取数据完成之后,nginx会将读取事件的回调方法设置为ngx_http_process_request_line(),这个方法主要有...

03/19 10:47
2.7K
nginx数据接收流程详解

在nginx基于epoll模型事件驱动流程详解中我们讲到,epoll在触发accept事件之后,会回调ngx_event_accept()方法。这个方法主要做了两件事: 获取accept到的客户端连接句柄,并且初始化一个ngx...

03/10 07:52
310
nginx内存池实现原理

内存池,顾名思义,是对内存块进行管理的一套工具。通过内存池的封装,我们可以非常方便的从内存池中申请和释放内存,而且由于内存池的内存块是预申请的,这就减少了我们频繁申请系统内存空间...

03/03 08:56
203
nginx http模块配置合并

在配置nginx.conf文件的时候,我们很容易发现,有部分配置项是既可以配置在http块,也可以配置在server块,还可以配置在location块中。但是并不是所有的配置项都可以在任意位置进行配置的,根...

02/25 09:39
4.4K
nginx http块配置解析

在上一篇文章中,我们讲解了nginx http模块的存储结构,这个存储结构是我们理解http模块工作原理的基石。本文则主要讲解nginx是如何通过解析nginx.conf中的http配置块来一步一步构建http模块...

02/18 11:28
320
nginx http模块数据存储结构

从本节开始,我们将进入http模块实现原理的讲解,关于http模块,有一个非常重要的点就是其是如何存储http块、server块和location块的数据的,而且nginx有的配置项是可以在多个配置块中使用的...

02/11 08:24
1.2W
nginx worker进程循环

worker进程启动后,其首先会初始化自身运行所需要的环境,然后会进入一个循环,在该循环中不断检查是否有需要执行的事件,然后处理事件。在这个过程中,worker进程也是需要与master进程交互的...

02/04 10:55
8.5K
nginx事件模块实现细节

在nginx事件模块结构体详解中,我们讲解nginx的事件模块的整体工作流程,并且着重讲解了组织事件模块的各个方法的作用,本文则主要围绕这整个流程,从源码的角度讲解nginx事件模块的实现细节...

01/20 09:08
8.1K
nginx基于epoll模型事件驱动流程详解

epoll是一种基于事件驱动的模型,其是nginx能够高效处理客户端请求的重要原因之一。从流程上来讲,epoll模型的使用主要分为三步:epoll句柄的创建,监听文件描述符的添加和等待事件的触发,本...

01/14 10:34
1.1W
nginx事件模块结构体详解

事件模块是nginx的核心模块之一,nginx中客户端请求的处理和命令行指令的执行都是基于事件模块进行驱动的。因此,掌握事件模块的实现原理对于我们理解nginx整体架构有非常重要的意义。本文首...

01/08 08:48
1.6K
nginx惊群问题的解决方式

对于nginx的惊群问题,我们首先需要理解的是,在nginx启动过程中,master进程会监听配置文件中指定的各个端口,然后master进程就会调用fork()方法创建各个子进程,根据进程的工作原理,子进程...

2019/12/31 11:32
4.5K
nginx master工作循环

默认情况下,nginx使用的是master-worker工作模式接收命令行指令和处理客户端请求。在nginx启动master进程后,其会进行整个nginx工作环境的初始化,然后会依次启动worker进程、cache manager...

2019/12/24 06:46
167
nginx配置文件解析

在我们使用nginx的过程中,配置文件可以说是我们接触最为频繁的一个部分,在我们配置完相应的配置项之后,一般都会使用./sbin/nginx -t命令来测试配置文件是否有参数错误,然后再重新加载ngi...

2019/12/17 10:21
284
nginx master-worker进程工作原理

nginx的master-worker进程模型是其能够高性能的处理用户请求的原因之一,而且这里的每个worker进程都只会启动一个线程来处理用户请求。通常我们会将worker进程的数量设置得与我们的CPU数量一...

2019/12/11 07:12
222
nginx启动流程详解

nginx的启动流程主要是从nginx.c文件的main()方法开始的,在这个过程中,nginx会完成诸如解析命令行参数、初始化模块索引、解析配置文件、初始化模块、启动master,worker和cache相关进程等操...

2019/12/03 07:00
446
nginx共享内存机制详解

nginx的共享内存,是其能够实现高性能的主要原因之一,而其主要是用于对文件的缓存。本文首先会讲解共享内存的使用方式,然后会讲解nginx是如何实现共享内存的管理的。 1. 使用示例 nginx声明...

2019/11/26 07:36
4K
Nginx基本属性配置详解

Nginx服务的基本配置 1.1 用于调试进程和定位问题的配置项 是否以守护进程的方式运行nginx # 默认on daemon on|off; 是否以master/worker方式工作 # 默认on,指定了是否以master-worker进程的...

2019/10/22 10:04
1W

没有更多内容

加载失败,请刷新页面

返回顶部
顶部