面试题:谈谈Nginx

1.Nginx是什么

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

2.Nginx的作用?

1.反向代理,将多台服务器代理成一台服务器。

2.负载均衡,将多个请求均匀的分配到多台服务器上,减轻每台服务器的压力,提高服务的吞吐量。

3.动静分离,nginx 可以用作静态文件的缓存服务器,提高访问速度

3.Nginx的优势

(1) 可以高并发连接(5 万并发,实际也能支持 2~4 万并发)。

(2) 内存消耗少。

(3) 成本低廉。

(4) 配置文件非常简单。

(5) 支持 Rewrite 重写。

(6) 内置的健康检查功能。

(7) 节省带宽。

(8) 稳定性高

(9) 支持热部署。

4.什么是反向代理?

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

反向代理总结就一句话:代理端代理的是服务端.

5.什么是正向代理?

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

正向代理总结就一句话:代理端代理的是客户端。

6.什么是负载均衡?

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

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

首先,nginx 在启动时,会解析配置文件,得到需要监听的端口80与 ip 地址,然后在nginx 的 master 进程里面先初始化好这个监控的 socket,再进行 listen,然后再 fork 出多个子进程出来, 子进程会竞争 accept 新的连接。

此时,客户端就可以向 nginx 发起连接了。当客户端与 nginx 进行三次握手,与nginx

建立好一个连接后,此时,某一个子进程会 accept 成功,然后创建 nginx 对连接的封装,即 ngx_connection_t 结构体,接着,根据事件调用相应的事件处理模块,如 http 模块与客户端进行数据的交换。

最后,nginx 或客户端来主动关掉连接,到此,一个连接就寿终正寝了。

8.为什么 Nginx 性能这么高?

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值