必备20道Nginx面试题附答案

发布时间:2023-04-18 10:10:59

Nginxx是java学习中必不可少的知识之一是的。简单总结一下Nginx,轻量级Web 服务器/反向代理服务器和电子邮件(IMAP/POP3)代理服务器,并在BSD-like协议下发布。Nginx在中国被大量网站使用,因此应用范围仍然很广。这方面的内容也是java面试中经常测试的部分之一。以下是整理Nginx20道面试题附答案,一起看吧。

1、什么是Nginx?

答:Nginx是HTTP服务器和反向代理服务器的web服务器、HTTPS、SMTP、POP3和IMAP协议。

2、请列出Nginx的一些特点?

答:Nginx服务器的特点包括:反向代理/L7负载平衡器;嵌入式Perl解释器;动态二进制升级;可以用来重写URL,有很好的PCRE支持。

3、nginx和apache的区别?

答:轻量级也从web开始 比apache服务 内存和资源占用较少;抗并发,nginx处理请求异步非阻塞,apache 它是阻塞型,在高并发下nginx 能保持低资源、低消耗、高性能;设计高度模块化,编写模块相对简单;核心区别在于apache是同步多进程模型,一个连接对应一个过程;nginx是异步的,多个连接(万级)可以对应一个过程。

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

答:一个主要过程,多个工作过程,每个工作过程可以处理多个请求,每个进来request,处理worker进程会有一个。但不是全程处理,处理到可能堵塞的地方,比如向上游(后端)服务器转发request,等待请求返回。然后,worker继续处理其他请求,一旦上游服务器返回,事件将触发,worker将接管,request将继续下去。由于web server的工作性质决定了每个request的大部分生命都在网络传输中,但实际上在server机器上花费的时间片并不多。解决高并发问题的秘密是几个过程。也就是说,@skoo所说的webserver正好属于网络io密集型应用,而不是计算密集型。

5、如何处理NginxHTTP请求?

答:Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号,使数据能够从套接字读取,读取到缓冲区并在此实例中进行处理。单线程可提供数万个并发连接。

6、如何在Nginx中使用未定义的服务器名来阻止处理请求?

答:请求删除的服务器可以定义为:

在这里,服务器名称被保留为空字符串,它将不存在“主机”在头字段匹配请求的情况下,返回特殊Nginx的非标准代码444,以终止连接。

7、使用“反向代理服务器”优点是什么?

答:要获得SSI模块必须用于Nginx的当前时间$date_gmt和$date_local变量。Proxy_set_header THE-TIME $date_gmt;

17、用Nginx服务器解释-s的目的是什么?

答:用于操作Nginx -s参数的可执行文件。

18、解释如何在Nginx服务器上添加模块

答:在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

19、为什么不使用多线程?

答:Nginx:采用单线程异步非阻塞处理请求(管理员可以配置Nginx主流程的工作流程数量),不会为每个请求分配CPU和内存资源,节省大量资源,减少CPU上下文切换,使Nginx支持更高的并发性。

20、为什么要动静分离?

答:在我们的软件开发中,有些要求需要后台处理(如:.jsp,.do等),有些请求不需要后台处理(如:css、html、jpg、js等),这些不需要后台处理的文件称为静态文件,否则动态文件。因此,我们忽略了后台处理的静态文件,但如果我们直接忽略了静态文件,后台的请求数量就会显著增加。当我们需要资源的响应速度时,我们应该使用这种动态和静态分离策略来解决动态和静态分离网站的静态资源(HTML,JavaScript,CSS等。)与后台应用程序分开部署,提高用户访问静态代码的速度,减少后台应用程序访问。将静态资源转发到nginx,动态资源转发到nginxtomcat服务器中,毕竟Tomcat的优点是处理动态请求。

上面这20个问题是Nginx最常见的面试问题。今天,我们将整理这些Nginx面试问题,希望能帮助那些需要Java就业面试的人。因为在日常工作中,我们不可避免地要接触和使用这样一个高性能的网络服务器,所以我们非常有必要通过在线学习和培训来学习Nginx实践然后全面掌握课程,然后全面掌握Nginx的配置和使用,不同的企业应用场景,并可以将这些技能应用到实际工作中,以提高您java程序员技术能力和价值。

上一篇 简单谈谈Tomcat的优化经验
下一篇 浅谈Tomcat服务器优化方法

文章素材均来源于网络,如有侵权,请联系管理员删除。

标签: Java教程Java基础Java编程技巧面试题Java面试题