Nginx的高性能以及常用功能

高性能

Nginx是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP代理服务,使用C语言开发,因为它的稳定性、丰富的功能集和较低的系统资源消耗而闻名。
特性:

  • C语言编写,高并发,相比Apache,使用更少的资源,支持5w+的并发连接;
  • 采用IO多路复用机制,一个线程处理多个请求,异步非堵塞;
  • 轻量级,代码模块化,根据需要添加编译模块;
  • sendfile工作机制(内核空间直接到内核空间的传输,0拷贝传输模式);
Nginx 工作进程

Nginx启动后会以Daemon的方式在后台运行,有两类进程,一类是Master进程(完成初始化和管理Worker进程),一类是Worker进程(实际工作进程),启动方式有两种:

  • 单进程启动,只有一个进程既充当Master又充当Worker进程;
  • 多进程启动,此时只有一个Master进程,一个或多个Worker进程(接收客户端连接);
    启动过程:
    在这里插入图片描述
Nginx模块

在这里插入图片描述

  • Handler模块
    完成客户端请求处理,生成响应数据,如:url重写、静态页面请求、记录访问日志等;
  • Filter过滤器模块
    对Handler产生的数据进行修改;
  • Proxy代理类模块
    HTTP Upstream之类的模块,主要与后端服务交互,实现代理服务和负载均衡等;
Handler模块
序号阶段描述
1NGX_HTTP_POST_READ_PHASE请求头读完成后的阶段
2NGX_HTTP_SERVER_REWRITE_PHASEServer内请求地址重写
3NGX_HTTP_FINF_CONFIG_PHASE配置查找
4NGX_HTTP_REWRITE_PHASELocation内地址重写
5NGX_HTTP_POST_REWRITE_PHASE请求地址重写完成后的阶段
6NGX_HTTP_PREACCESS_PHASE访问权限准备检查
7NGX_HTTP_ACCESS_PHASE访问权限检查
8NGX_HTTP_POST_ACCESS_PHASE访问权限检查之后的阶段
9NGX_HTTP_TRY_FILES_PHASE配置项try_files处理
10NGX_HTTP_CONTENT_PHASE内容产生
11NGX_HTTP_LOG_PHASE日志记录
Filters模块

处理Handler产生的响应内容,进行过滤处理以实现功能增强与性能提升,Header与Body会分别经过两条过滤链:
在这里插入图片描述

Nginx常用功能
  • HTTP服务
    动静分离、Web缓存、GZIP压缩、HTTP认证、SSL、URL重写、虚拟主机、HTTP限流
  • 负载均衡
  • 反向代理:HTTP代理、TCP代理;
  • 正向代理
  • 邮件服务
  • 与Lua脚本结合(使用OpenResty):可以实现动态负载均衡、访问(MySql、Redis)、权限过滤等;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值