预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

史上最全Nginx⾯试题及答案 1.Nginx简介 Nginx(enginex)是⼀个⾼性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、⽰例配置⽂件和低系统资源的消耗⽽闻名。2011年6⽉1 ⽇,nginx1.0.4发布。 Nginx是⼀款轻量级的Web服务器/反向代理服务器及电⼦邮件(IMAP/POP3)代理服务器,在BSD-like协议下发⾏。其特点是占有 内存少,并发能⼒强,事实上nginx的并发能⼒在同类型的⽹页服务器中表现较好,中国⼤陆使⽤nginx⽹站⽤户有:百度、京东、新 浪、⽹易、腾讯、淘宝等。 Nginx是⼀个很强⼤的⾼性能Web和反向代理服务,它具有很多⾮常优越的特性: 在连接⾼并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机⽣意的⽼板们经常选择的软件平台之⼀。能 够⽀持⾼达50,000个并发连接数的响应,感谢Nginx为我们选择了epollandkqueue作为开发模型。 2.正向代理 在客户端(浏览器)配置代理服务器,通过代理服务器进⾏互联⽹访问。 3.反向代理 我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择⽬标服务器获取数据后,在返回给客户端,此时反向代理服务器和⽬标 服务器对外就是⼀个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。 4.负载均衡 单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到 多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。 5.动静分离 为了加快⽹站的解析速度,可以把动态页⾯和静态页⾯由不同的服务器来解析,加快解析速度。降低原来单个服务器的压⼒。 6.请列举Nginx的⼀些特性? Nginx服务器的特性包括:反向代理/L7负载均衡器;嵌⼊式Perl解释器;动态⼆进制升级;可⽤于重新编写URL,具有⾮常好的PCRE⽀ 持。 7.nginx和apache的区别? 轻量级,同样起web服务,⽐apache占⽤更少的内存及资源;抗并发,nginx处理请求是异步⾮阻塞的,⽽apache则是阻塞型的,在⾼ 并发下nginx能保持低资源低消耗⾼性能;⾼度模块化的设计,编写模块相对简单;最核⼼的区别在于apache是同步多进程模型,⼀个连 接对应⼀个进程;nginx是异步的,多个连接(万级别)可以对应⼀个进程。 8.nginx是如何实现⾼并发的? ⼀个主进程,多个⼯作进程,每个⼯作进程可以处理多个请求,每进来⼀个request,会有⼀个worker进程去处理。但不是全程的处理,处 理到可能发⽣阻塞的地⽅,⽐如向上游(后端)服务器转发request,并等待请求返回。那么,这个处理的worker继续处理其他请求,⽽⼀ 旦上游服务器返回了,就会触发这个事件,worker才会来接⼿,这个request才会接着往下⾛。由于webserver的⼯作性质决定了每个 request的⼤部份⽣命都是在⽹络传输中,实际上花费在server机器上的时间⽚不多。这是⼏个进程就解决⾼并发的秘密所在。即@skoo所 说的webserver刚好属于⽹络io密集型应⽤,不算是计算密集型。 9.Nginx如何处理HTTP请求? Nginx使⽤反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进⾏处 理。单个线程可以提供数万个并发连接。 10.为什么要⽤Nginx? 跨平台、配置简单 ⾮阻塞、⾼并发连接: 处理2-3万并发连接数,官⽅监测能⽀持5万并发 内存消耗⼩: 开启10个nginx才占150M内存,Nginx采取了分阶段资源分配技术 nginx处理静态⽂件好,耗费内存少 内置的健康检查功能: 如果有⼀个服务器宕机,会做⼀个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。 节省宽带: ⽀持GZIP压缩,可以添加浏览器本地缓存 稳定性⾼: 宕机的概率⾮常⼩ master/worker结构: ⼀个master进程,⽣成⼀个或者多个worker进程 接收⽤户请求是异步的: 浏览器将请求发送到nginx服务器,它先将⽤户请求全部接收下来,再⼀次性发送给后端web服务器,极⼤减轻了web服务器的压⼒,⼀ 边接收web服务器的返回数据,⼀边发送给浏览器客户端 ⽹络依赖性⽐较低,只要ping通就可以负载均衡 可以有多台nginx服务器 11.为什么Nginx性能这么⾼? 得益于它的事件处理机制: 异步⾮阻塞事件处理机制:运⽤了epo