共计 2732 个字符,预计需要花费 7 分钟才能阅读完成。
锁屏面试题百日百刷,每个工作日保持更新面试题。锁屏面试题 app、小程序现已上线,官网地址:https://www.demosoftware.cc/#/introductionPage。已收录了每日更新的面试题的所有内容,还蕴含特色的解锁屏幕温习面试题、每日编程题目邮件推送等性能。让你在面试中后人一步,吊打面试官! 接下来的是今日的面试题:
==== 什么是 Nginx?
Nginx 是一个 轻量级 / 高性能的反向代理 Web 服务器,他实现十分高效的反向代理、负载平衡,他能够解决 2 - 3 万并发连接数,官网监测能反对 5 万并发。
==== 为什么要用 Nginx?
跨平台、配置简略、方向代理、高并发连贯:解决 2 - 3 万并发连接数,官网监测能反对 5 万并发.
内存耗费小:开启 10 个 nginx 才占 150M 内存,nginx 解决动态文件好,消耗内存少,
而且 Nginx 内置的健康检查性能:如果有一个服务器宕机,会做一个健康检查,再发送的申请就不会发送到宕机的服务器了。从新将申请提交到其余的节点上。
应用 Nginx 的话还能:
- 节俭宽带:反对 GZIP 压缩,能够增加浏览器本地缓存
- 稳定性高:宕机的概率十分小
- 接管用户申请是异步的
==== 为什么 Nginx 性能这么高?
因为他的事件处理机制:异步非阻塞事件处理机制:使用了 epoll 模型,提供了一个队列,排队解决
====Nginx 怎么解决申请的?
nginx 接管一个申请后,首先由 listen 和 server_name 指令匹配 server 模块,再匹配 server 模块里的 location,location 就是理论地址
server {# 第一个 Server 区块开始,示意一个独立的虚拟主机站点
listen 80;# 提供服务的端口,默认 80
server_name localhost;# 提供服务的域名主机名
location / {
第一个 location 区块开始
root html;# 站点的根目录,相当于 Nginx 的装置目录
index index.html index.htm;# 默认的首页文件,多个用空格离开
} # 第一个 location 区块后果
}
==== 什么是正向代理和反向代理?(重点)
1)正向代理暗藏实在客户端
正向代理,就是一个位于客户端和原始服务器之前的服务器,为了从原始服务器获得内容,客户端向代理发送一个申请并且指定指标(原始服务器),而后代理向原始服务器转交申请并将取得的内容返回给客户端,客户端能力应用正向代理。
比方咱们要去拜访某个网站,咱们间接拜访不通,那么咱们就能够找一个代理服务器为咱们服务,咱们通过代理服务器申请到这个网站。对于这个网站而言他只晓得有一个服务器拜访了本人,并不知道你拜访了他。
2)反向代理暗藏实在服务端
反向代理服务器位于用户与指标服务器之间,然而对于用户而言,反向代理服务器就相当于指标服务器,即用户间接拜访反向代理服务器就能够取得指标服务器的资源。同时,用户不须要晓得指标服务器的地址,也毋庸在用户端作任何设定。反向代理服务器通常可用来作为 Web 减速,即应用反向代理作为 Web 服务器的前置机来升高网络和服务器的负载,进步拜访效率。
反向代理形式是指以代理服务器来接管 internet 网上的连贯申请,而后将申请转发给外部网络上的服务器,并从服务器上失去的后果返回给 internet 上申请连贯的客户端,此时代理服务器对外就体现为一个节点服务器。
==== 应用反向代理服务器的长处是什么?
反向代理服务器能够暗藏源服务器的存在和特色。它充当互联网云和 web 服务器之间的中间层。这对于平安方面来说是很好的,特地是当您应用 web 托管服务时。
====Nginx 的优缺点?
长处:
- 占内存小,可实现高并发连贯,解决响应快
- 可实现 http 服务器、虚拟主机、反向代理、负载平衡
- Nginx 配置简略
- 能够不裸露正式的服务器 IP 地址
毛病:动静解决差:nginx 解决动态文件好, 消耗内存少,然而解决动静页面则很鸡肋,当初个别前端用 nginx 作为反向代理抗住压力
====Nginx 利用场景?
- http 服务器。Nginx 是一个 http 服务能够独立提供 http 服务。能够做网页动态服务器。
- 虚拟主机。能够实现在一台服务器虚构出多个网站,例如集体网站应用的虚拟机。
- 反向代理,负载平衡。当网站的访问量达到肯定水平后,单台服务器不能满足用户的申请时,须要用多台服务器集群能够应用 nginx 做反向代理。并且多台服务器能够均匀分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的状况。
- nginx 中也能够配置平安治理、比方能够应用 Nginx 搭建 API 接口网关, 对每个接口服务进行拦挡。
====Nginx 目录构造有哪些?(重点)
├── client_body_temp
├── conf # Nginx 所有配置文件的目录
│ ├── fastcgi.conf # fastcgi 相干参数的配置文件
│ ├── fastcgi.conf.default # fastcgi.conf 的原始备份文件
│ ├── fastcgi_params # fastcgi 的参数文件
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types # 媒体类型
│ ├── mime.types.default
│ ├── nginx.conf # Nginx 主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params # scgi 相干参数文件
│ ├── scgi_params.default
│ ├── uwsgi_params # uwsgi 相干参数文件
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp # fastcgi 长期数据目录
├── html # Nginx 默认站点目录
│ ├── 50x.html # 谬误页面优雅代替显示文件,例如当呈现 502 谬误时会调
用此页面
│ └── index.html # 默认的首页文件
├── logs # Nginx 日志目录
│ ├── access.log # 拜访日志文件
│ ├── error.log # 谬误日志文件
│ └── nginx.pid # pid 文件,Nginx 过程启动后,会把所有过程的 ID 号写
到此文件
├── proxy_temp # 长期目录
├── sbin # Nginx 命令目录
│ └── nginx # Nginx 的启动命令
├── scgi_temp # 长期目录
└── uwsgi_temp # 长期目录
====Nginx 配置文件 nginx.conf 有哪些属性模块?
nginx.conf 由多个块组成,最里面的块是 main,main 蕴含 Events 和 HTTP,HTTP 蕴含 upstream 和多个 Server,Server 又蕴含多个 location
更多面试题或学习资源可查看我主页或评论获取