nginx原理介绍
2017-04-10 17:27
309 查看
nginx是一款轻量级的web服务器,相比较apache会占用更少的内存资源,并且采用异步非阻塞实现高并发请求,高度的模块化设计,模块编写清晰。
一、nginx功能分类:
按模块(主要包含4大模块):
1、CORE模块核心模块
2、EVENT模块事件模块
3、HTTP模块HTTP模块
4、MAIL模块邮件模块
按功能:
1、Handlers(处理器模块):此类模块直接处理请求。
2、Filters(过滤器模块):对处理器模块输出的内容进行过滤,有nginx输出。
3、Proxies(代理类模块):主要与后端的一些服务比如FastCGI等进行交互,实现服务代理和负载均衡等功能。
二、nginx模块结构(nginx的重点)
1、nginx的配置文件,先从配置文件中的一条命令说起,如:
2、nginx配置文件中的每一个命令,都会有ngx_comment_t结构体定义,如:root,root指令的定义(src/http/ngx_http_core_module.c
文件中)
5、模块初始化过程
Master进程负责处理外部信号,同时管理所有的worker进程
Worker进程负责处理链接的建立、请求和相应
2、nginx启动过程
2、event数据结构
3、epoll_create&epoll_ctl添加监听事件
4、epoll_ctl添加http处理事件
2、异步非阻塞。
3、epoll触发方式的理解
以上便是对nginx的模块,进程,事件,以及高并发的简单描述,后面会详细介绍没一个模块。
一、nginx功能分类:
按模块(主要包含4大模块):
1、CORE模块核心模块
2、EVENT模块事件模块
3、HTTP模块HTTP模块
4、MAIL模块邮件模块
按功能:
1、Handlers(处理器模块):此类模块直接处理请求。
2、Filters(过滤器模块):对处理器模块输出的内容进行过滤,有nginx输出。
3、Proxies(代理类模块):主要与后端的一些服务比如FastCGI等进行交互,实现服务代理和负载均衡等功能。
二、nginx模块结构(nginx的重点)
1、nginx的配置文件,先从配置文件中的一条命令说起,如:
server { listen 80; server_name www.xxxx.com; root /var/xxxx/www; location / { root /home/www; index index.php index.html index.htm; } }
2、nginx配置文件中的每一个命令,都会有ngx_comment_t结构体定义,如:root,root指令的定义(src/http/ngx_http_core_module.c
文件中)
{ ngx_string("root"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_CONF_TAKE1, ngx_http_core_root, NGX_HTTP_LOC_CONF_OFFSET, 0, NULL },
3、ngx_command_t 结构体定义(具体字段含义下面会讲到):
struct ngx_command_s { ngx_str_t name; ngx_uint_t type; char *(*set)(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); ngx_uint_t conf; ngx_uint_t offset; void *post; };
4、ngx_module_t 模块结构体以及模块之间的关系
5、模块初始化过程
三、nginx进程模型
1、Master-Worker模型:Master进程负责处理外部信号,同时管理所有的worker进程
Worker进程负责处理链接的建立、请求和相应
2、nginx启动过程
四、nginx事件模型
1、eventmodule数据结构2、event数据结构
3、epoll_create&epoll_ctl添加监听事件
4、epoll_ctl添加http处理事件
五、nginx高并发原理
1、每个worker都是独立进程,不需要加锁,进程互不影响。 一般woker数目和cpu数目一致,减少因竞争cpu带来的上下文切换。2、异步非阻塞。
3、epoll触发方式的理解
以上便是对nginx的模块,进程,事件,以及高并发的简单描述,后面会详细介绍没一个模块。
相关文章推荐
- Nginx介绍及原理简单分析
- linux的Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl介绍
- 系统原理分析架构-六-负载均衡(定义及介绍及LVS/Nginx/Haproxy比较)
- Nginx工作原理及相关介绍
- nginx支持websocket及websocket部分原理介绍
- 系统原理分析架构-六-负载均衡(定义及介绍及LVS/Nginx/Haproxy比较)
- 高级扫描技术及原理介绍
- 高级扫描技术及原理介绍
- 几种压缩算法原理介绍
- Vbs脚本病毒生产机的原理介绍及如何预防和解除?
- 鸽舍原理介绍
- 高级扫描技术及原理介绍
- 高级扫描技术及原理介绍
- 几种压缩算法原理介绍
- 详细介绍在tomcat中配置数据源以及数据源的原理
- CString实现原理简单介绍
- DoS攻击原理以及常见方法介绍(三)
- 本文希望以比较通俗的语言深入介绍一下CPU的原理。
- 高级扫描技术及原理介绍
- [Proxy Auto Config]GoogleWebAccelerator用的Proxy.pac代理原理介绍