origin: http://blog.csdn.net/yankai0219/article/details/8453238
欢迎转载转载请注明出处http://blog.csdn.net/yankai0219/article/details/8453238
欢迎转载转载请注明出处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:进程通信。
版权声明:本文为博主原创文章,未经博主允许不得转载。