nginx属于中间件吗
nginx属于中间件,是一个http服务器。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。
Nginx是一个http服务器,中间件
1、Nginx相对于Apach来说具有以下优点:
1)反向代理能力非常强(可用于负载均衡)
2)高并发性能非常好,官方Nginx处理静态文件并发5w/s
3)内存和cpu占用量低
关于负载均衡的理解
这里首先我们要介绍一下集群的概念集群就是同一个业务部署在多个服务器上面。
我们重点服务器的并发量是有限的二tomcat 所支持的并发量只有500,也就是说当很多人在访问的时候,我们的项目就会面临崩溃,所以我们使用集群来解决这个问题,也是说让多台服务器来帮忙承受访问量,这个时候就会涉及到负载均衡问题。
而nginx就能很轻松去实现负载均衡nginx就能很轻松去实现负载均衡
2、Nginx效率高的原因
1)io多路复用
就是说多条io来处理同一个线程,当一个io被阻塞过后,不用继续等待,继续执行下一个io等前一个的io的阻塞完毕过后就继续执行。这样做的好处是既减少了IO等待,也减少了频繁创建线程浪费的资源。
2)轻量级
源代码只保留与http 及核心功能代码
3)cpu亲和
CPU核心和NGINX 工作进程绑定的方式,把每个worker进程固定在一个cpu
上执行,减少切换cpu的cache miss,获得更好的性能。
4)内核空间0拷贝
直接通过内核空间进行数据的拷贝,sendfile利用了linux在2.2 零拷贝传递模式
nginx对静态文件的处理能力超强的原因就是因为sendfile使用了内核空间零拷贝数据传递模式。(例如静态数据不需要加工,那么可以去掉,内核空间到用户空间那一步)