暑假青少年白癜风 http://baidianfeng.39.net/a_yyxw/200829/8162525.htmlNginx是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP/POP代理服务器。Nginx以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。本文从底层原理分析Nginx为什么这么快!一、基本原理1、Nginx的进程模型Nginx服务器,正常运行过程中:多进程:一个Master进程、多个Worker进程Master进程:管理Worker进程1.对外接口:接收外部的操作(信号)2.对内转发:根据外部的操作的不同,通过信号管理Worker.监控:监控worker进程的运行状态,worker进程异常终止后,自动重启worker进程Worker进程:所有Worker进程都是平等的1.实际处理:网络请求,由Worker进程处理2.Worker进程数量:在nginx.conf中配置,一般设置为核心数,充分利用CPU资源,同时,避免进程数量过多,避免进程竞争CPU资源,增加上下文切换的损耗。思考:1.请求是连接到Nginx,Master进程负责处理和转发?2.如何选定哪个Worker进程处理请求?请求的处理结果,是否还要经过Master进程?2、HTTP连接建立和请求处理过程:Nginx启动时,Master进程,加载配置文件Master进程,初始化监听的socketMaster进程,fork出多个Worker进程Worker进程,竞争新的连接,获胜方通过三次握手,建立Socket连接,并处理请求、Nginx高性能、高并发:Nginx采用:多进程+异步非阻塞方式(IO多路复用epoll)请求的完整过程:1.建立连接2.读取请求:解析请求.处理请求.响应请求请求的完整过程,对应到底层,就是:读写socket事件二、Nginx的事件处理模型request:Nginx中