Nginx面试题

整理自网络,侵权删

1.请解释一下什么是Nginx?

Nginx是一个web服务器和反向代理服务器,用于http、https、smtp、pop3和IMAP协议

2.请列举Nginx的一些特性。

Nginx服务器的特性包括:

  • 反向代理/负载均衡器

  • 嵌入式Perl解释器

  • 动态二进制升级

  • 可用于重新编写URL,具有非常好的PCRE支持

3.请列举Nginx和Apache之间的不同点

4.请解释Nginx如何处理HTTP请求

Nginx使用反应器模式。主事件循环等操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。单个线程可以提供数万个并发连接。

5. 在Nginx中,如何使用未定义的服务器名称来阻止处理请求

只需要将请求删除的服务器定义为:

  1. Server {
  2. listen 80;
  3. server_name ;
  4. return 444; }

这里服务器名被保留为一个空字符串,他将在没有“主机”头字段的情况下匹配请求,而一个特殊的Nginx的非标准代码444被返回,从而终止连接。

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

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

7.请列举Nginx服务器的最佳用途

Nginx服务器的最佳用法是在网络上部署动态HTTP内容,使用SCGI、WSGI 应用程序服务器、用于脚本的FastCGI处理程序。它还可以作为负载均衡器

8.请解释Nginx服务器上的Master和Worker进程粉白是什么

  • Master进程:读取及评估配置和维持
  • worker进程:处理请求

9.请解释如何通过不同于80的端口开启Nginx?

为了通过一个不同的端口开启Nginx,你必须进入/etc/Nginx/sites-enabled/,如果这是默认文件,那么你必须打开’default‘的文件。编辑文件,并放置在你想要的端口:

  1. Like server {listen 81;}

10.为什么要用Nginx?

跨平台、配置简单、方向代理、高并发连接: 处理2-3万并发连接数,官方监测能支持5万并发,内存消耗小,开启10个Nginx才占用150M内存,Nginx处理静态文件好,耗费内存少,而且Nginx内置的健康检查功能:如果一个服务器宕机,会做一个健康检查,在发送的请求就不会发送到宕机服务器上,重新将请求提交并交到其他的节点上。

使用Nginx的话还能:

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

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

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

12.Nginx怎么处理请求的?

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

  1. server{ # 第一个server区块开始,表示一个独立的虚拟主机站点
  2. listen 80; #提供服务的端口,默认80
  3. server_name localhost;# 提供服务的域名主机名
  4. location/{ # 第一个 location区块开始
  5. root html;# 站点的根目录,相当于nginx的安装目录
  6. index index.html index.htm;# 默认的首页文件,多个用空格分开
  7. }
  8. }

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

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

14.为什么要做动静分离

  • Nginx的静态处理能力很强,但是动态处理能力不足,因此企业常用动静分离技术。

面试题--Nginx的更多相关文章

  1. 面试题:Nginx负载均衡的算法怎么实现的?为什么要做动静分离?

    面试题 Nginx负载均衡的算法怎么实现的?Nginx 有哪些负载均衡策略?Nginx为什么要做动静分离? 面试官心理剖析 主要是看应聘人员对Nginx的基本原理是否熟悉,需要应聘人员能够根据实际业务 ...

  2. 深度优化LNMP之Nginx (转)

    深度优化LNMP之Nginx Nginx基本安全优化 1.调整参数隐藏Nginx版本号信息     一般来说,软件的漏洞都和版本有关,因此我们应尽量隐藏或清除Web服务队访问的用户显示各类敏感信息(例 ...

  3. [Nginx] – 性能优化 – 配置文件优化

    Nginx基本安全优化 1.调整参数隐藏Nginx版本号信息     一般来说,软件的漏洞都和版本有关,因此我们应尽量隐藏或清除Web服务队访问的用户显示各类敏感信息(例如:Web软件名称及版本号等信 ...

  4. 最全最新java面试题系列全家桶(带答案)

    最全最新java面试题系列全家桶(带答案) 置顶 2019年04月06日 22:40:28 青春季风暴 阅读数 14082 文章标签: java面试题技术栈 更多 分类专栏: 面试   版权声明:本文 ...

  5. 盘点Linux运维常用工具(二)-web篇之nginx

    1.nginx的概述 .nginx是一个开源的.支持高性能.高并发的WWW服务和代理服务软件 .是由俄罗斯人Igor Sysoev开发的,具有高并发.占用系统资源少等特性 .官网:http://ngi ...

  6. 转载: Nginx 通览

    转载地址:https://developer.51cto.com/art/201912/608365.htm Nginx 简介 Nginx 是一个免费.开源.高性能.轻量级的 HTTP 和反向代理服务 ...

  7. 5-20 Web服务器和Nginx

    什么是Web服务器 简单来说 Web服务器就是一个能够接收http请求并作出响应的java程序 我们再二阶段编写的webServer项目其实就是我们手写的Web服务器 我们现在开发的标准SpringB ...

  8. [转帖]Linux 下软链接和硬链接的区别

    Linux 下软链接和硬链接的区别 http://os.51cto.com/art/201911/605267.htm 软连接 文件是小的 只是一个链接 删除和其他处理不影响 原始文件的计数 删除源文 ...

  9. 2022年最强八股文《码出八股文-斩出offer线》

    宝剑锋从磨砺出,梅花香自苦寒来,大家好,我是小码哥 整理好的八股文终于完成了,希望看完对大家面试有所收获! 目录: 基础篇 javaOOP面试题 java集合/泛型面试题 java异常面试题 java ...

随机推荐

  1. Java编程中标识符注意点以及注释

    标识符注意点 所有的标识符都应该以字母(A-Z或者a-z),美元符($),或者下划线(_)开始 首字符之后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数 字的任何字符组合 不能使用关键 ...

  2. rabbitMq使用guest登录不上的问题总结

    自己mac电脑上的mq在电脑关机(直接按电源键关机),在开机后,rabbitMq连不上了,报500错误. 1.在使用brew uninstall rabbitmq --force后; 2.我手动安装了 ...

  3. CSS 3D的魅力

    用户1093975发表于Web项目聚集地订阅 151 在这篇文章中: 前言: demo1 demo2 结语: 本文介绍了CSS来实现3D效果,并且有详细代码和解释.建议大家只字不差的阅读.本文的作者是 ...

  4. iOS应用性能调优--初级---王朋

    目录 我要给出的建议将分为三个不同的等级: 入门级. 中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) 1. 用ARC管理内存 2. 在正确的地方使用reuseIdentifier ...

  5. 基于人工智能标记语言 (AIML)和任务型对话系统(Task)的深度智能对话机器人demo

    起因 本demo基于基于人工智能标记语言 (AIML)和开放域问答(WebQA)的深度智能对话模型而来 无意间发现一个基于人工智能标记语言 (AIML)和开放域问答(WebQA)的深度智能对话模型,但 ...

  6. linux c 线程相关函数

    线程相关函数(1)-pthread_create(), pthread_join(), pthread_exit(), pthread_cancel() 创建取消线程 一. pthread_creat ...

  7. 搭建 NFS 服务 & 实时同步

    今日内容 NFS简介 实现 NFS 文件同步功能 NFS 配置详解 统一用户 搭建 web 服务 NFS 实现文件共享 内容详细 1.NFS 简介 1.1 介绍 实现多台 web 服务器可以共享数据资 ...

  8. Solution -「多校联训」签到题

    \(\mathcal{Description}\)   Link.   给定二分图 \(G=(X\cup Y,E)\),求对于边的一个染色 \(f:E\rightarrow\{1,2,\dots,c\ ...

  9. Django的后台管理系统Admin(5)

    Django的后台管理系统就是为了方便管理员管理网站,所以django自带了一个后台管理系统,接下来记录一下如何使用这个后台的管理系统. 首先我们要进入后台管理系统,就要有一个管理员的账号,先来创建有 ...

  10. python中类的调用

    1 class Computer: # 创建类,类名首字母大写 2 screen = True # 类的属性 3 4 def start(self): # 创建实例方法,不要漏了 self 5 pri ...