![](http://om4h63cja.bkt.clouddn.com/17-7-24/23811152.jpg)
[nginx官方网站][1]
[nginx.org][2]
[wiki][3]
[docs][4]
## Nginx的特性
* 模块化设计、较好扩展性
但不支持动态模块加载,编译时启用的模块在nginx启动时会全部加载;1.9.11部分模块支持DSO
* 高可靠性
master进程负责管理 worker进程的崩溃不会相互影响
* 低内存消耗
10000个keep-alive连接在Nginx仅消耗2.5MB
* 支持热部署
不停机而更新配置文件、更换日志文件、更新服务器程序版本
## 基本HTTP功能
* 提供静态文件和index文件,生成自动索引,缓存打开文件的描述符;
* 使用缓存加快反向代理和FastCGI访问;
* 模块化结构,过滤器包括gzip,字节range,chunk响应,XSLT,SSI(Server Side Include),图像大小调;整,被传到后台服务器的多个SSI指令在单个页面并行处理;
* 支持SSL和TLS SNI;
## 其他HTTP功能
* 基于名称和IP的虚拟服务器;
* 基于客户端IP和HTTP基本认证的访问控制;
* 支持keepalive和管道连接;
* 平滑的重新配置和在线升级;
* 定制访问日志格式,缓存日志写入和快速日志轮询;
* 3xx-5xx错误重定向,定制错误页面;
* 支持url rewrite;
* FLV流文件;
* 速度限制;
* 限制同时连接数或者来自同一个IP地址的请求;
## 邮件代理服务器
## 架构和可扩展性
* 一个主进程和多个工作进程,工作进程以非特权用户运行;
主进程必须以管理员身份启动(启动<1023端口必须使用管理员身份),主进程用来监控和管理工作进程;主进程加载配置文件后,若有错误,不会影响工作进程;重新再加载正确后,新的连接建立时使用新配置。
* 支持的事件机制的IO框架
kqueue(FreeBSD 4.1+)、epoll(Linux 2.6+)、rt signals(Linux 2.2.19+)、/dev/poll(Solaris 7 11/99+)、event ports(Solaris 10)、select以及poll(次之);
众多支持的kqueue特性包括EV_CLEAR、EV_DISABLE(临时禁止事件)、NOTE_LOWAT、EV_EOF,可用数据的数量,错误代码;
* 支持sendfile(FreeBSD 3.1+, Linux 2.2+, Mac OS X 10.5+)、sendfile64(Linux 2.4.21+)和sendfilev(Solaris 8 7/01+);
用户请求响应不经过用户空间,报文在内核完成http封装直接从内核响应给客户端,避免了响应报文从内核复制到用户空间,再从用户空间复制到内核空间在响应给客户,尽可能避免数据拷贝操作。
* 文件AIO(FreeBSD 4.3+, Linux 2.6.22+);
* DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, Mac OS X);
* 支持Accept-filters(FreeBSD 4.1+, NetBSD 5.0+)和 TCP_DEFER_ACCEPT(Linux 2.4+);
* 支持连接过滤器,限制连接数
* 10000个非活跃的HTTP keep-alive连接仅占用约2.5M内存;
## 模块类型
* 核心模块
* Standard HTTP modules 标准http模块
* Optional HTTP modules 可选http模块
* Mail modules 邮件模块
* 3rd party modules 第三方模块
[1]:https://www.nginx.com/
[2]:http://nginx.org/
[3]:https://www.nginx.com/resources/wiki/
[4]:http://nginx.org/en/docs/
- nginx的功能
- nginx常用变量
- Nginx内核模块
- Nginx的事件模块
- Nginx的HTTP模块
- Nginx的fastcgi
- nginx的proxy
- Upstream实现后台服务器集群
- 文件操作优化相关的配置
- Nginx模块管理和进程管理
- 模块管理
- 进程管理
- 针对Nginx的Linux系统优化
- Nginx如何处理一个请求
- nginx状态信息
- Nginx工具
- Nginx限制流量
- Nginx限制用户的并发连接数
- 配置FLV服务器
- Nginx访问控制
- Nginx自动索引
- Nginx网页压缩传输
- 控制Nginx如何记录日志
- Nginx改写响应
- Nginx重写
- 后台Nginx记录原始原始IP
- Nginx防盗链
- Nginx的https