1. 概念
nginx是个开源,高效,可靠的http中间件代理服务。
中间件:应用,操作系统中间的一层。提供一些服务,使得应用程序更加关注业务部分。(串联)
常见流程:web请求–>中间件–>应用A–>操作系统
应用A–>中间件–>应用B
2.出现背景
1.数据量指数增长趋势
2.apach低效(一个连接对应一个进程)
3.优点
1.高效(高并发,支持海里的并发请求)
1.以前的IO复用:多个I/O–>一个socket–>多个线程
2.nginx采取:
IO多路复用epoll:多个I/O操作能在一个线程内并发交替的顺序完成。
3.复用:指用一个线程。
4.select模型:低效,一直在扫描是否有空。有数量限制。
5.epoll模型:高效,说明了具体哪几个有空。无限制。
2.高扩展性(模块化)
功能模块较少。保留核心。其余提供插件。(轻量级)
3.高可靠性(稳定性好)
4.热部署(不用停止服务)
5.开源免费
6.CPU亲和
cup核心与iginx工作进程绑定。
7.sendfile
不经过内核空间
4.主要应用场景
1.静态服务。
2.反向代理。
3.api服务。