扫码关注公众号

java开源框架之nginx
06-24
666观看
01

什么是Nginx?Nginx的优缺点?

Nginx是一个轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并

来自:nginx-nginx分析
02

Nginx有哪些特点?

Nginx的特点1.热部署2.可以高并发连接3.低的内存消耗4.处理响应请求很快5.具有很高的可靠性

来自:nginx-nginx分析
03

Nginx三大功能?

1.反向代理正向代理:特定情况下,代理用户访问服务器,需要用户手动的设置代理服务器的ip和端口号。反向代理:是用来代理服务器,代理用户要访问的目标服务器。代理服务器接受请求,然后将请求转发给内部网络的服务器(服务集群模式),并将从服务器上得到的结果返回给客户端,此时代理服务器对外就表现为一个服务器。Nginx在反向代理上,提供灵活的功能,可以根据不同的正则采用不同的转发策略,如图设置好后不同的请求就可以走不同的服务器。2.负载均衡负载均衡:多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。Nginx可使用的负载均衡策略有:轮询(默认)、权重、ip_hash、url_hash(第三方)、fair(第三方)。3.动静分离常用于前后端分离,Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。

来自:nginx-nginx分析
04

为什么 epoll 快,比较一下 Apache 常用的 select 和 Nginx 常用的 epoll

select1.最大并发数限制,因为一个进程所打开的FD(文件描述符)是有限制的,由FD_SETSIZE设置,默认值是1024/2048,因此Select模型的最大并发数就被相应限制了。自己改改这个FD_SETSIZE?想法虽好,可是先看看下面吧。2.效率问题,select每次调用都会线性扫描全部的FD集合,这样效率就会呈现线性下降,把FD_SETSIZE改大的后果就是,大家都慢慢来,什么?都超时了。3.内核/用户空间,内存拷贝问题,如何让内核把FD消息通知给用户空间呢?在这个问题上select采取了内存拷贝方法,在FD非常多的时候,非常的耗费时间。总结为:1、连接数受限2、查找配对速度慢3、数据由内核拷贝到用户态消耗时间。epoll1.Epoll没有最大并发连接的限制,上限是最大可以打开文件的数目,这个数字一般远大于2048,一般来说这个数目和系统内存关系很大,具体数目可以cat/proc/sys/fs/file-max查看。2.效率提升,Epoll最大的优点就在于它只管你“活跃”的连接,而跟连接总数无关,因此在实际的网络环境中,Epoll的效率就会远远高于select和poll。3.内存共享,Epoll在这点上使用了“共享内存”,这个内存拷贝也省略了。

来自:nginx-nginx分析
课程
专栏
开源框架-nginx-nginx分析
3专栏
1课程
5 试题