博客专栏  >  架构   >  Nginx

Nginx

Nginx学习记录。

关注
3 已关注
16篇博文
  • 【Nginx】事件驱动框架处理流程

    ngx_event_core_module模块的ngx_event_process_init方法对事件模块做了一些初始化。其中包括将“请求连接”这样一个读事件对应的处理方法(handler)设置为ng...

    2014-07-14 21:11
    1608
  • 【Nginx】epoll事件驱动模块

    Linux 2.4版本的内核之前,Nginx的事件驱动方式是使用的poll、select函数。进程需要等待连接上有事件发生(收到数据)时,需要把所有连接都告诉内核,由内核找出哪些连接上有事件发生。由于...

    2014-07-12 20:55
    1929
  • 【Nginx】ngx_event_core_module模块

    ngx_event_core_module模块属于事件模块,它是其它事件类模块的基础。它主要完成以下任务: 创建连接池决定使用哪些事件驱动机制初始化将要使用的事件模块 下面分析...

    2014-07-10 20:36
    1235
  • 【Nginx】核心模块ngx_events_module

    核心模块ngx_events_module是一个专门用于管理事件模块的模块。它的实现很简单,下面是该模块的定义: ngx_module_t ngx_events_module = { ...

    2014-07-09 20:47
    1486
  • 【Nginx】事件和连接

    不同的操作系统对应不同的事件驱动机制,在Linux 2.6之后使用epoll机制,对应的事件驱动模块是ngx_epoll_module。Nginx的ngx_event_core_module模块根据操...

    2014-07-08 20:12
    1653
  • 【Nginx】启动流程

    本流程从启动应用程序后的main函数开始跟踪。 解析命令行参数并保存到ngx_cycle_t结构体中,在ngx_process_options函数中将保存配置文件路径。 调用ngx_add_i...

    2014-07-05 21:02
    1290
  • 【Nginx】事件驱动框架和异步处理

    Nginx对请求的处理是通过事件触发的,模块作为事件消费者,只能被事件收集、分发器调用。这与传统的Web服务器是不同的。传统的Web服务器下,一个请求由一个进程消费,请求在建立连接后将始终占用着系统资...

    2014-07-04 20:52
    2106
  • 【Nginx】模块化设计

    高度模块化的设计是Nginx的架构基础。所有模块都是以ngx_module_t结构体表示,该结构体内部定义了7个回调方法,它们负责模块的初始化和退出。commands成员是一个包含有ngx_comma...

    2014-07-04 14:00
    1636
  • 【Nginx】开发一个HTTP过滤模块

    与HTTP处理模块不同,HTTP过滤模块的工作是对发送给用户的HTTP响应做一些加工。服务器返回的一个响应可以被任意多个HTTP过滤模块以流水线的方式依次处理。HTTP响应分为头部和包体,ngx_ht...

    2014-07-03 15:26
    3196
  • 【Nginx】HTTP配置模型

    当Nginx检测到配置文件中存在配置块http{}时,会建立一个ngx_http_conf_ctx_t结构体,该结构体定义如下: typedef struct { void **...

    2014-06-24 19:20
    1249
  • 【Nginx】如何处理HTTP配置

    同一个配置项可以同时出现多个块内,例如HTTP块、server块、location块。一个配置项到底是取哪个块中的值完全有我们定义的模块决定。 处理HTTP配置项分以下4个步骤: ...

    2014-06-21 22:18
    1408
  • 【Nginx】将磁盘文件作文包体发送

    接上一篇文章,当Nginx以文件作为用户的请求时,它不会把文件内容读入内存,然后再从内存发送出去,而是会调用sendfile系统调用在不经过用户空间的情况下,从内核直接发送出去。这样做显然效率要更高,...

    2014-06-18 22:00
    1566
  • 【Nginx】开发一个简单的HTTP模块

    首先来分析一下HTTP模块是如何介入Nginx的。 当master进程fork出若干个workr子进程后,每个worker子进程都会在自己的for死循环中不断调用事件模块: for ( ;; ) ...

    2014-06-17 21:56
    4536
  • 【Nginx】HTTP请求的11个处理阶段

    Nginx将一个HTTP请求分成多个阶段,以模块为单位进行处理。这样做的好处是使处理过程更加灵活、降低耦合度。HTTP框架将处理分成了11个阶段,各个阶段以流水线的方式处理请求。这11个HTTP阶段如...

    2014-06-14 21:41
    4211
  • 【Nginx】监听端口的管理

    监听端口属于server虚拟主机,由server{}块内的listen配置项决定。 在处理配置文件http块内main级别的配置项时,每个HTTP模块都会调用create_main_conf、cr...

    2014-06-14 19:46
    4449
  • 【Nginx】HTTP框架概述

    HTTP框架的首要任务就是通过调用

    2014-06-13 20:47
    1170

img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部