Java面试题以及答案---Nginx

4.1 Nginx是什么?

Nginx 是一个高性能的 HTTP 和反向代理服务器,及电子邮件代理服务器,同时也是一个非常高效的反向代理、负载平衡。

4.2 Nginx的作用?

1.反向代理,将多台服务器代理成一台服务器。
2.负载均衡,将多个请求均匀的分配到多台服务器上,减轻每台服务器的压力,提高 服务的吞吐量。
3.动静分离,nginx 可以用作静态文件的缓存服务器,提高访问速度

4.3 Nginx的优势?

(1) 可以高并发连接(5 万并发,实际也能支持 2~4 万并发)。
(2) 内存消耗少。
(3) 成本低廉。
(4) 配置文件非常简单。
(5) 支持 Rewrite 重写。
(6) 内置的健康检查功能。
(7) 节省带宽。
(8) 稳定性高。
(9) 支持热部署。

4.4 什么是反向代理?

反向代理是指以代理服务器来接受 internet 上的连接请求,然后将请求,发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
反向代理总结就一句话:代理端代理的是服务端.

4.5 什么是正向代理?

一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
正向代理总结就一句话:代理端代理的是客户端。

4.6 什么是负载均衡?

负载均衡即是代理服务器将接收的请求均衡的分发到各服务器中,负
载均衡主要解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访问质量,减少后台服务器大并发压力。

4.7 Nginx是如何处理一个请求的?

首先,nginx 在启动时,会解析配置文件,得到需要监听的端口与 ip地址,然后在 nginx 的 master 进程里面先初始化好这个监控的 socket,再进行listen,然后再 fork 出多个子进程出来, 子进程会竞争 accept 新的连接。
此时,客户端就可以向 nginx 发起连接了。当客户端与 nginx 进行三次握手,与 nginx
建立好一个连接后,此时,某一个子进程会 accept 成功,然后创建 nginx 对连接的封装,即 ngx_connection_t 结构体,接着,根据事件调用相应的事件处理模块,如 http 模块与客户端进行数据的交换。
最后,nginx 或客户端来主动关掉连接,到此,一个连接就寿终正寝了。

4.8 为什么Nginx性能这么高?

得益于它的事件处理机制:异步非阻塞事件处理机制:运用了 epoll模型,提供了一个队列,排队解决。

Nginx教程

Nginx教程,Java进阶从0到1学会Nginx分布式框架

Java最新课程:

Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题

Java基础入门:

java零基础自学首Java入门教程(含Java项目和Java真题)

Javaweb核心基础

JavaWeb基础教程,Java web从入门到企业实战完整版

Spring Cloud最全微服务架构

史上最全面的springcloud微服务技术栈

SSM框架教程:

SSM框架教程_Spring+SpringMVC+Maven高级+Spring

SpringBoot2全套视频教程:

SpringBoot2全套视频教程,springboot零基础到项目实战

你可能感兴趣的:(nginx,java,服务器,Java面试,后端)