nginx学习
文章平均质量分 78
messiran10
这个作者很懒,什么都没留下…
展开
-
nginx学习笔记七(nginx HTTP框架的执行流程)
之前已经介绍过nginx的事件框架。那么,对于client发出的一个http的请求,nginx的http框架是如何一步步解析这个http请求?http框架又是如何和之前介绍过得epoll事件模块结合起来的,下面来简要介绍下。注:我手头上的nginx工程是nginx-1.9.14的,与《深入理解nginx》的版本不一致,在http框架这块的代码上也有着较大的区别。一.ngx_http原创 2016-05-23 18:36:26 · 12497 阅读 · 0 评论 -
nginx学习笔记一(开发自己的http模块)
最近在结合《深入理解nginx》这本书学习nginx,现在记录下学习的一些心得。本书的第三章主要讲述的是如何在nginx中开发和集成第三方http模块,流程大致如下:1.定义自己的http模块在nginx的安装目录下创建一个单独的文件夹my_http,在文件夹中新建my_test.c,需要在my_test.c文件中编写第三方模块的程序,如下:#include #includ原创 2016-05-03 14:29:25 · 1163 阅读 · 0 评论 -
nginx学习笔记四(nginx启动时候的master和worker进程)
nginx一般情况下都是配置成一个多进程的程序,由一个master进程和多个worker进程组成,master进程通过信号来管理worker进程的运行状态。下面从代码的角度来分析master和worker进程的启动情形。1.在main函数最后,会根据配置方式,决定nginx的启动形式(单进程或者多进程)if (ngx_process == NGX_PROCESS_SINGLE) {原创 2016-05-16 16:40:48 · 17179 阅读 · 1 评论 -
nginx学习笔记二(nginx的配置)
在阅读《深入理解nginx》的时候,对于nginx的配置一直有些困惑。参阅了官方给的nginx users guide之后,将我对nginx配置的理解记录如下:1.配置文件是用来干啥的我们知道Nginx是由多个模块所构成的,在一个正常运行的Nginx系统中,会存在着http 模块,事件模块等工作模块。每个模块都发挥着自己的作用。而配置文件nginx.conf就是用来配置这些模块的工作参数,原创 2016-05-03 16:04:05 · 389 阅读 · 0 评论 -
nginx学习笔记五(nginx的事件模块定义)
在linux后台服务器开发领域里面,epoll的大名是早有所闻。《深入理解nginx》一书在第9章-事件模块中就详细说明了epoll相关的系统调用是怎么嵌入到nginx的框架中。下面说明nginx框架下与事件处理相关的一些模块。一.ngx_events_modulengx_events_module是核心模块中的一种。之前一直不是很明白核心模块的意思,现在想来,事件模块的核心模块应该是原创 2016-05-19 16:39:57 · 9905 阅读 · 0 评论 -
nginx学习资源
nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。 现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:https://github.com/jian转载 2016-05-09 14:44:09 · 350 阅读 · 0 评论 -
nginx学习笔记三(nginx启动框架的处理流程)
《深入理解nginx》中是用流程图+文字的形式讲解了nginx的启动框架处理流程(Page 275),我是结合源码对应着教材过了一篇nginx的启动流程,记录如下:一.源码位置main函数:nginx\src\core\nginx.cngx_init_cycle函数:nginx\src\core\Ngx_cycle.c二.启动处理流程1.解析命令行,处理参数if (原创 2016-05-09 16:23:24 · 512 阅读 · 0 评论 -
linux信号屏蔽字
一个进程的信号屏蔽字规定了当前阻塞而不能递送给该进程的信号集。调用函数sigprocmask可以检测或更改其信号屏蔽字,或者在一个步骤中同时执行这两个操作。#include int sigprocmask( int how, const sigset_t *restrict set, sigset_t *restrict oset );返回值:若成功则返回0,若出错则返回-1转载 2016-05-09 17:39:09 · 2081 阅读 · 0 评论 -
nginx学习笔记六(Nginx事件框架处理流程)
之前粗略阅读过《Unix网络编程》,这本教材里面是基于底层的Socket API实现了一些多进程/多线程模式简单的tcp server。Nginx在linux环境下的底层实现肯定也是基于这些基本的socket API做的,但是这些socket API函数都藏在代码的海洋里,需要花些功夫才能将思路给理清楚。接下来整理整理nginx源码中的这些socket API被调用的位置,并且对相应Nginx的原创 2016-05-20 15:57:50 · 650 阅读 · 0 评论