Nginx口试宝典【刷题系列】

打印 上一主题 下一主题

主题 890|帖子 890|积分 2670



1、nginx是如何实现高并发的?

答:一个主进程,多个工作进程,每个工作进程可以处理多个请求,每进来一个request,会有一个 worker 进程去处理。但不是全程的处理,处理到可能发生阻塞的地方,比如向上游(后端)服务器转发 request ,并等候请求返回。那么,这个处理的 worker 继续处理其他请求,而一旦上游服务器返回了,就会触发这个事件,worker 才会来接手,这个 request 才会接着往下走。由于 web server 的工作性质决定了每个 request 的大部份生命都是在网络传输中,实际上耗费在 server 机器上的时间片不多。这是几个进程就解决高并发的秘密地点。即 @skoo 所说的 webserver 刚好属于网络 io 密集型应用,不算是计算密集型。
2、Nginx如何处理HTTP请求?

答:Nginx 使用反应器模式。主事件循环等候操纵系统发出预备事件的信号,如许数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。单个线程可以提供数万个并发连接。
3、使用“反向代理服务器”的优点是什么?

答:反向代理服务器可以隐藏源服务器的存在和特征。它充当互联网云和 web 服务器之间的中间层。这对于安全方面来说是很好的,特殊是当您使用 web 托管服务时。
4、列举Nginx服务器的最佳用途。

答:Nginx 服务器的最佳用法是在网络上摆设动态 HTTP 内容,使用 SCGI、WSGI 应用程序服务器、用于脚本的 FastCGI 处理程序。它还可以作为负载均衡器。
5、Nginx服务器上的Master和Worker进程分别是什么?

答:Master 进程:读取及评估设置和维持 ;Worker 进程:处理请求。
6、什么是C10K题目?

答:C10K 题目是指无法同时处理大量客户端(10,000)的网络套接字。
7、请陈述stub_status和sub_filter指令的作用是什么?

答:

  • Stub_status 指令:该指令用于相识 Nginx 当前状态的当前状态,如当前的活动连接,担当和处理当前读/写/等候连接的总数 ;
  • Sub_filter 指令:它用于搜索和更换响应中的内容,并快速修复陈旧的数据
8、为什么不使用多线程?

答:Nginx采取单线程来异步非阻塞处理请求(管理员可以设置 Nginx 主进程的工作进程的数目),不会为每个请求分配 cpu 和内存资源,节省了大量资源,同时也减少了大量的 CPU 的上下文切换,所以才使得 Nginx 支持更高的并发。
9、为什么要做动、静分离?

答:在我们的软件开发中,有些请求是必要配景处理的(如:.jsp,.do等等),有些请求是不必要经过配景处理的(如:css、html、jpg、js 等等),这些不必要经过配景处理的文件称为静态文件,否则动态文件。因此我们配景处理忽略静态文件,但是如果直接忽略静态文件的话,配景的请求次数就明显增多了。
在我们对资源的响应速度有要求的时候,应该使用这种动静分离的计谋去解决动、静分离将网站静态资源(HTML,JavaScript,CSS 等)与配景应用分开摆设,提高用户访问静态代码的速度,降低对配景应用访问。这里将静态资源放到 nginx 中,动态资源转发到 tomcat (opens new window)服务器中,毕竟 Tomcat 的优势是处理动态请求。
10、ngx_http_upstream_module的作用是什么?

答:要在 URL 中保存双斜线,就必须使用 merge_slashes_off;


  • 语法:merge_slashes [on/off] ;
  • 默认值: merge_slashes on;
  • 环境: http,server

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表