开篇介绍
大家好,我是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不反对模块的运行工夫抉择。