文章0:Nginx整体分析
来源:互联网 发布:大学生java实训学校 编辑:程序博客网 时间:2024/06/07 06:42
欢迎转载转载请注明出处http://blog.csdn.net/yankai0219/article/details/8453238
0.序
本文是对接下来一系列文章的综述。接下来一系列文章讲述了Nginx作为一款Linux下的软件时其运行的原理。说直白一点,本系列文章讲述的是Nginx软件在接收Http请求之前所做的所有工作。
1.本系列文章内容
本系列文章将包括以下内容文章1:Nginx启动流程分析:讲述了Nginx启动的流程.非常详尽的启动流程,一直讲到Master进程等待信号和Worker进程等待Http请求。
文章2:详细讲述了启动过程中main函数中的相关过程。
文章3:讲述了Nginx中与信号相关的内容。这部分内容对于理解Nginx中master进程如何接受来自于管理员的信号由重大帮助。为了能够很好地理解文章2中的内容。必须阅读基础文章1:APUE chap10 信号
文章4:必须讲述Master进程中内容。这部分内容与文章0有些重复,但是这篇文章中讲述了调试的方法,还是可以看看的。
文章5:必须讲讲worker进程的内容,实际上就是讲讲ngx_worker_process_cycle中内容。
要阅读这篇文章,还是需要很多基础知识:1)epoll事件 2)互斥体。
如果阅读这篇文章觉得费力,可以先阅读接下来的几篇文章,然后再返回头阅读这篇文章。
文章6:Nginx中的Epoll事件处理机制
必须讲讲Nginx中的事件处理机制。在Nginx中默认采用epoll事件处理机制。
如果觉得这篇文章读起来也费力,那么就需要学习Epoll事件处理机制的原理。请参考事件处理机制之epoll
文章7:必须讲讲Worker进程是如何被创建的。这儿牵涉到的是如何创建进程,在文章1中有说明,因此只需要去阅读基础文章3:进程基础之fork函数和基础文章4:进程详细描述.其实这部分关于进程的内容还需要仔细阅读APUE进行学习。系统的学习永远是最重要的。
文章8:必须讲讲Master进程如何与Worker进程进行通信的。这部分非常重要。这部分还需要进一步学习和总结。
阅读这篇文章,也必须熟悉进程通信相关内容。需要参考基础文章5:APUE chap15 进程间通信 和 基础文章6:APUE chap17 高级进程间通信 以及基础文章7:chap15 进程通信之管道 补充。
文章9:Nginx accept互斥锁。这部分主要是为了讲讲Nginx的accept互斥体。这篇文章需要学习文件锁方面的内容。参考基础文章2:APUE chap14 高级I/O
备注:实际上这儿还欠着两篇比较重要的文章
文章1:讲述Nginx中如何添加事件。如何为监听套接字分配connections数组,如何添加到epoll句柄中,又是如何调用的
文章2:进程通信。
- 文章0:Nginx整体分析
- 文章0:Nginx整体分析
- 推荐文章:Libev源码分析 -- 整体设计
- 文章6:Nginx初始化、启动过程分析
- 文章16:Nginx变量的源码分析
- 文章1:Nginx启动过程分析
- 文章5:Nginx源码分析--事件循环
- 文章3:Nginx源码分析-ngx_list_t单链表
- 文章1:Nginx启动过程分析
- 文章5:Nginx源码分析--事件循环
- 文章10:Nginx源码分析----Nginx如何获得数据包(未完成)
- nginx 整体结构
- nginx 整体结构
- nginx整体结构
- nginx整体结构
- Nutch1.0 Crawl整体代码分析
- SVAC1.0标准解读-----整体框架分析
- Nginx文章
- GetCurrentDirectory Function
- 电脑漏电的解决
- linux文件
- git初体验
- 中层领导(管理能力)
- 文章0:Nginx整体分析
- 截取数字
- 黑马程序员_java网络编程
- 29c3ctf web100 regexdb writeup
- I,P,B帧和PTS,DTS的关系
- iphone开发--ios 真机测试
- Qt之drag and drop
- VC: 10014系统检测到在一个调用中尝试使用指针参数时的无效指针地址 zz
- Servlet中实现请求转发