nginx : engine x;使用libenent(一个高性能网络库调用epoll()基于事件驱动模型)
nginx特性:
模块化设计,较好的扩展性
高可靠性
master -------->worker(master主控进程worker子进程)
低内存消耗(基于事件驱动模型)
支持热部署:不停机更换配置文件,日志文件的滚动,升级程序版本
支持事件驱动,AIO,mmap;
基本功能:
静态资源的web服务器,能缓存打开的文件描述符
http,smtp,pop3协议的反向代理服务器
反向代理服务器:是用户和服务器中间的一个代理层服务器(这样隔离了用户和真正的服务器可以使用这个代理做一些简单的数据检验和处理)代理服务器可以对一些静态的内容进行缓存,以达到加速的结果。一般是使用键值缓存的。键一般是url。
nginx也可以作为负载均衡的服务器(分发请求)。支持fastCGI(fpm,lamp),uWSGI(python)支持ssl;
扩展功能
基于名称和IP的虚拟主机
支持keepalive
支持平滑升级
定制访问日志
支持url重写
支持路径别名
支持基于ip的用户访问限制
支持速率限制支持并发数限制
nginx基本架构
一个master进程负责生成多个worker进程
worker进程是真正工作的进程
sendfile机制
支持事件驱动:linux:epoll(边缘触发)
复用器 select
nginx 的工作模式:非阻塞,事件驱动,一个master进程生成多个worer,每个worker处理n个请求
模块类型:
核心模块
Standard HTTP modules