Nginx面试题_1

编程入门 行业动态 更新时间:2024-10-25 02:18:37

Nginx<a href=https://www.elefans.com/category/jswz/34/1769418.html style=面试题_1"/>

Nginx面试题_1

文章目录

      • 1.什么是Nginx?
      • 2. 为什么要用Nginx
      • 3.为什么Nginx性能这么高?
      • 4.Nginx怎么处理请求的?
      • 5.什么是正向代理和反向代理?
      • 6.使用“反向代理服务器的优点是什么?
      • 7.Nginx的优缺点?
      • 8.Nginx应用场景?
      • 9.Nginx目录结构有哪些?
      • 10.Nginx配置文件nginx.conf有哪些属性模块?
      • 11.location的作用是什么?
      • 12.location的语法
      • 13.Location正则
      • 14.NGINX原理
      • 14.nginx设置多少个worker
      • 15.worker_connection

1.什么是Nginx?

Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。

2. 为什么要用Nginx

跨平台、配置简单、方向代理、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发,内存消耗小:开启10个nginx才占150M内存 ,nginx处理静态文件好,耗费内存少,

而且Nginx内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上。

使用Nginx的话还能:

节省宽带:支持GZIP压缩,可以添加浏览器本地缓存
稳定性高:宕机的概率非常小
接收用户请求是异步的

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

因为他的事件处理机制:异步非阻塞事件处理机制:运用了epoll模型,提供了一个队列,排队解决

4.Nginx怎么处理请求的?

nginx接收一个请求后,首先由listen和server_name指令匹配server模块,再匹配server模块里的location,location就是实际地址

5.什么是正向代理和反向代理?

正向代理就是一个人发送一个请求直接就到达了目标的服务器
反方代理就是请求统一被Nginx接收,nginx反向代理服务器接收到之后,按照一定的规 则分发给了后端的业务处理服务器进行处理了

6.使用“反向代理服务器的优点是什么?

反向代理服务器可以隐藏源服务器的存在和特征。它充当互联网云和web服务器之间的中间层。这对于安全方面来说是很好的,特别是当您使用web托管服务时。

7.Nginx的优缺点?

优点:

占内存小,可实现高并发连接,处理响应快
可实现http服务器、虚拟主机、方向代理、负载均衡
Nginx配置简单
可以不暴露正式的服务器IP地址
缺点:
动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在一般前端用nginx作为反向代理抗住压力

8.Nginx应用场景?

http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
虚拟主机。可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
nginz 中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截。
————————————————

9.Nginx目录结构有哪些?

[root@localhost ~]# tree /usr/local/nginx
/usr/local/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                       # 临时目录

10.Nginx配置文件nginx.conf有哪些属性模块?

worker_processes  1;                					# worker进程的数量
events {                              					# 事件区块开始worker_connections  1024;            				# 每个worker进程支持的最大连接数
}                                    					# 事件区块结束
http {                               					# HTTP区块开始include       mime.types;            				# Nginx支持的媒体类型库文件default_type  application/octet-stream;     		# 默认的媒体类型sendfile        on;       							# 开启高效传输模式keepalive_timeout  65;       						# 连接超时server {            								# 第一个Server区块开始,表示一个独立的虚拟主机站点listen       80;      							# 提供服务的端口,默认80server_name  localhost;       					# 提供服务的域名主机名location / {            						# 第一个location区块开始root   html;       						# 站点的根目录,相当于Nginx的安装目录index  index.html index.htm;      			# 默认的首页文件,多个用空格分开}          										# 第一个location区块结果error_page   500502503504  /50x.html;     		# 出现对应的http状态码时,使用50x.html回应客户location = /50x.html {          				# location区块开始,访问50x.htmlroot   html;      							# 指定对应的站点目录为html}}  ......

全局块,event块,http块

11.location的作用是什么?

location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。

12.location的语法

13.Location正则

	#优先级1,精确匹配,根路径location =/ {return 400;}#优先级2,以某个字符串开头,以av开头的,优先匹配这里,区分大小写location ^~ /av {root /data/av/;}#优先级3,区分大小写的正则匹配,匹配/media*****路径location ~ /media {alias /data/static/;}#优先级4 ,不区分大小写的正则匹配,所有的****.jpg|gif|png 都走这里location ~* .*\.(jpg|gif|png|js|css)$ {root  /data/av/;}#优先7,通用匹配location / {return 403;}

14.NGINX原理

master和worker

争抢机制

一个master和n和worker的优势:
1.可以nginx -s reload 热部署
2.对于每一个worker都是一个独立的进行,不用加锁,可以提高性能。
3.一个进程退出后,不会影响其他的进程。

14.nginx设置多少个worker

nginx和redis一样都使用了io多路复用机制,每一个worker都是一个进程。
一般来说worker数量和cpu数量相等最好。

15.worker_connection

1.发送请求后,会占用worker多少个连接数
2/4个
2:worker - tomcat
4:client - worker - tomcat

2.nginx一个master,4个worker,每一个worker支持连接数为1024,则nginx支持的最大并发数是多少
4 * 1024 /2或 4 * 1024 / 4

更多推荐

Nginx面试题_1

本文发布于:2023-07-28 19:19:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1285486.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面试题   Nginx

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!