- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
史上最全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服务器,它先将⽤户请求全部接收下来,
原创力文档


文档评论(0)