面试题--Nginx

Nginx

Nginx 是什么?

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

 Nginx 的作用?

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

 Nginx 的优势?

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

 什么是反向代理?

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

什么是正向代理?

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

什么是负载均衡?

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

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

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

 为什么 Nginx 性能这么高?

得益于它的事件处理机制:异步非阻塞事件处理机制:运用了 epoll 模型,提供了一
个队列,排队解决。
写在最后:最近几天都会主要发面试题博客,后续会发一些知识博客。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值