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中,如何使用未定义的服务器名称来阻止处理请求

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

Server {
listen 80;
server_name “ “ ;
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‘的文件。编辑文件,并放置在你想要的端口:

 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就是实际地址

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

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. ApacheCN 数据库译文集 20211112 更新

    创建你的 Mysql 数据库 零.前言 一.介绍 MySQL 设计 二.数据采集 三.数据命名 四.数据分组 五.数据结构调整 六.补充案例研究 Redis 学习手册 零.序言 一.NoSQL 简介 ...

  2. nginx103

    user  nobody;worker_processes  1;error_log  /home/logs/error.log  info;#pid        logs/nginx.pid;ev ...

  3. scanf用法及scanf中有\n的问题

    scanf()函数的原理 想象输入设备(键盘)连接着一个叫"缓冲"的东西,把缓冲认为是一个字符数组. 当你的程序执行到scanf时,会从你的缓冲区读东西,如果缓冲区是空的,就阻塞住 ...

  4. php表单初始化

    转载请注明来源:https://www.cnblogs.com/hookjc/ //初始化表单值的函数function  InitForm($row,$form="form1"){ ...

  5. JSP中获取各种路径的方法

    我们当中可能有很多人不知道如何获得jsp中的路径怎么获取 方法一: <a href ="test.jsp?p=fuck">跳转到test2</a> 方法二: ...

  6. node.js中的fs.appendFile方法使用说明

    方法说明: 该方法以异步的方式将 data 插入到文件里,如果文件不存在会自动创建.data可以是任意字符串或者缓存. 语法: 代码如下: fs.appendFile(filename, data, ...

  7. PHP页面编码问题

    页面编码统一MySQL数据库编码.html页面编码.PHP或html文件本身编码要全部一致.1.MySQL数据库编码:建立数据库时指定编码(如gbk_chinese_ci),建立数据表.建立字段.插入 ...

  8. python基础语法_9-2函数式编程

    https://www.imooc.com/learn/317 大纲 1-函数式编程简介 2-高阶函数 3-把函数作为参数 4-map()函数 5-reduce()函数 6-filter()函数 7- ...

  9. 关于git和SVN的介绍和区别

    主要对git,svn进行一个简单的介绍. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜 ...

  10. Solution -「NOI 2008」「洛谷 P3980」志愿者招募

    \(\mathcal{Description}\)   Link.   一项持续 \(n\) 天的任务,第 \(i\) 天需要至少 \(a_i\) 人工作.还有 \(m\) 种雇佣方式,第 \(i\) ...