前言
Nginx官网:http://nginx.org/
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
Nginx的特性
- 高并发
- 内存消耗少
- 配置文件非常简单
- 成本低廉,开源软件
- 支持rewrite重写规则
- 内置的健康将检查功能:如果nginx proxy后端的某台web宕机了,不会影响前端正常访问
- 节省带宽:支持gzip压缩,添加浏览器本地缓存的header头
- 稳定性高:用于反向代理,当即概率小
- 模块化设计:模块可以动态编译
- 外围支持好:文档全、二次开发和模块较多
- 支持热部署:可以不停机重载配置文件
- 支持事件驱动、AIO(异步)、mmap(内存映射)等性能优化
关于IO模型↓↓↓↓↓↓↓
Nginx的功能
基本功能:
- 静态资源web服务器,能缓存打开的文件描述符;
- http、smtp、pop3协议的方向代理服务器(负载均衡);反代还可以做缓存
- 支持缓存和负载均衡机制
- 支持fastcgi(fpm,LNMP),uWSGI(python)等
- 模块化(非DSO机制)、过滤器zip,SSI及图像的大小调整
扩展功能
- 基于名称和IP的虚拟主机
- 支持keeplive
- 支持平滑升级
- 定制访问日志、支持使用日志缓存区提供日志存储性能
- 支持url rewrite
- 支持基于ip及用户的控制访问
- 支持速率限制,支持并发限制
Nginx的工作模式和模块类型
工作模式:
<font color="red">非阻塞、事件驱动</font>:由一个master进程生成多个worker线程,每个worker响应n个请求
并发量为 worker * n ,但是这个值不会超过6万,因为tcp的连接需要套接字,tcp端口总共是65535个,除去系统保留的端口,另外系统非常不建议超负荷工作
模块类型
- 核心模块
- Standard HTTP modules 标准的http模块
- Optional HTTP modlues 可选的http模块
- Mail modules 邮件模块
- 3rd party modules 三方模块
- 三方模块需要编译的时候指明模块位置
!> 其中三方模块在编译的时候需要指明模块的位置
<center>End</center>