开篇介绍
大家好,我是 Java 最全面试题库
的提裤姐,明天这篇是分布式技术的第四篇,次要介绍 Nginx;在后续,会沿着第一篇开篇的常识线路始终总结上来,做到日更!如果我能做到百日百更,心愿你也能够跟着百日百刷,一百天养成一个好习惯。
什么是 Nginx?
Nginx 是一个 web 服务器和反向代理服务器,用于 HTTP、HTTPS、SMTP、POP3 和 IMAP 协定。
列举 Nginx 的一些个性
Nginx 服务器的个性包含:
- 反向代理 /L7 负载均衡器
- 嵌入式 Perl 解释器
- 动静二进制降级
- 可用于从新编写 URL,具备十分好的 PCRE 反对
Nginx 如何解决 HTTP 申请?
Nginx 应用反应器模式。主事件循环期待操作系统收回筹备事件的信号,这样数据就能够从套接字读取,在该实例中读取到缓冲区并进行解决。单个线程能够提供数万个并发连贯。
在 Nginx 中,如何应用未定义的服务器名称来阻止解决申请?
只需将申请删除的服务器就能够定义为: Server{listen80; server_name“; return444;}
服务器名被保留为一个空字符串,它将在没有“主机”头字段的状况下匹配申请,而一个非凡的 Nginx 的非标准代码 444 被返回,从而终止连贯。
应用“反向代理服务器”的长处是什么?
反向代理服务器能够暗藏源服务器的存在和特色。它充当互联网云和 web 服务器之间的中间层。这对于平安方面来说是很好的,特地是当应用 web 托管服务时。
Nginx 服务器的最佳用处。
Nginx 服务器的最佳用法是在网络上部署动静 HTP 内容,应用 SCGI、WSGl 应用程序服务器,用于脚本的 FastCGI 处理程序。它还能够作为负载均衡器。
Nginx 服务器上的 Master 和过程别离是什么?
Master 过程:读取及评估配置和维持
Worker 过程:解决申请
请解释你如何通过不同于 80 的端口开启 Nginx?
为了通过一个不同的端口开启 Nginx,必须进入etc/Nginx/sites- enabled/
,如果这是默认文件,那么你必须关上名为 default”的文件。编辑文件, 并搁置在你想要的端口: Like server {listen 81;}
是否有可能将 Nginx 的谬误替换为 502、503 谬误?
502= 谬误网关
503= 服务器超载
有可能,然而能够确保 fastcgi_intercept_errors
被设置为 on,并应用谬误页面指令。
Location/fastcgi_pass 127.0.01:9001; fastcgi_intercept_error on; error_page 502 =503/errorpage. html; #...}
在 Nginx 中,如何在 URL 中保留双斜线?
要在 URL 中保留双斜线,就必须应用 merge_slashes_off
语法: merge_slashes [on/off]
默认值: merge_slashes on
环境 : http,server
ngx_http_ upstream_module 的作用是什么?
ngx_http_upstream_module 用于定义可通过 fastcgi 传递、proxy 传递、uwsgi 传递、memcached 传递和 scgi 传递指令来援用的服务器组。
什么是 C10K 问题?
C10K 问题是指无奈同时解决大量客户端 (10,000) 的网络套接字。
请陈说 stub_status 和 sub_filter 指令的作用是什么?
Stub_status 指令:用于理解 Nginx 以后状态的以后状态,如以后的流动连贯,承受和解决以后读 / 写 / 期待连贯的总数
Sub_filter 指令:用于搜寻和替换响应中的内容,并疾速修复古老的数据
解释 Nginx 是否反对将申请压缩到上游?
能够应用 Nginx 模块 gunzip 将申请压缩到上游。gunzip 模块是一个过滤器,它能够对不反对“gzip”编码方法的客户机或服务器应用“内容编码:gzip”来解压缩响应。
如何在 Nginx 中取得以后的工夫?
要取得 Nginx 的以后工夫,必须应用 SSl 模块
、$date_gmt
和date_local
的变量。Proxy_set_header THE-TIME $date_gmt;
用 Nginx 服务器解释 - s 的目标是什么?
用于运行 Nginx- s 参数的可执行文件。
如何在 Nginx 服务器上增加模块
在编译过程中,必须抉择 Nginx 模块,因为 Nginx 不反对模块的运行工夫抉择。