如何上传网站,新乡百度网站优化排名,温州专业微网站制作电话,wordpress更改导航栏样式1、请解释一下什么是Nginx? 答#xff1a;Nginx是一个web服务器和反向代理服务器#xff0c;用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性#xff1f; 答#xff1a;Nginx服务器的特性包括#xff1a; 1#xff09;反向代理/L7负载均衡器 …1、请解释一下什么是Nginx? 答Nginx是一个web服务器和反向代理服务器用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性 答Nginx服务器的特性包括 1反向代理/L7负载均衡器 2嵌入式Perl解释器 3动态二进制升级 4可用于重新编写URL具有非常好的PCRE支持 3、nginx和apache的区别 1轻量级同样起web 服务比apache 占用更少的内存及资源 2抗并发nginx 处理请求是异步非阻塞的而apache 则是阻塞型的在高并发下nginx 能保持低资源低消耗高性能 3高度模块化的设计编写模块相对简单 4最核心的区别在于apache是同步多进程模型一个连接对应一个进程nginx是异步的多个连接万级别可以对应一个进程 4.nginx是如何实现高并发的 答一个主进程多个工作进程每个工作进程可以处理多个请求每进来一个request会有一个worker进程去处理。但不是全程的处理处理到可能发生阻塞的地方比如向上游后端服务器转发request并等待请求返回。那么这个处理的worker继续处理其他请求而一旦上游服务器返回了就会触发这个事件worker才会来接手这个request才会接着往下走。由于web server的工作性质决定了每个request的大部份生命都是在网络传输中实际上花费在server机器上的时间片不多。这是几个进程就解决高并发的秘密所在。即skoo所说的webserver刚好属于网络io密集型应用不算是计算密集型。5、请解释Nginx如何处理HTTP请求。 答Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号这样数据就可以从套接字读取在该实例中读取到缓冲区并进行处理。单个线程可以提供数万个并发连接。6、在Nginx中如何使用未定义的服务器名称来阻止处理请求? 答只需将请求删除的服务器就可以定义为 Server { listen 80; server_name “ “ ; return 444; }这里服务器名被保留为一个空字符串它将在没有“主机”头字段的情况下匹配请求而一个特殊的Nginx的非标准代码444被返回从而终止连接。 7、 使用“反向代理服务器”的优点是什么? 答反向代理服务器可以隐藏源服务器的存在和特征。它充当互联网云和web服务器之间的中间层。这对于安全方面来说是很好的特别是当您使用web托管服务时。8、请列举Nginx服务器的最佳用途。 答Nginx服务器的最佳用法是在网络上部署动态HTTP内容使用SCGI、WSGI应用程序服务器、用于脚本的FastCGI处理程序。它还可以作为负载均衡器。9、请解释Nginx服务器上的Master和Worker进程分别是什么?答 Master进程读取及评估配置和维持 Worker进程处理请求 10、请解释你如何通过不同于80的端口开启Nginx? 答为了通过一个不同的端口开启Nginx你必须进入/etc/Nginx/sites-enabled/如果这是默认文件那么你必须打开名为“default”的文件。编辑文件并放置在你想要的端口 Like server { listen 81; }11、请解释是否有可能将Nginx的错误替换为502错误、503? 答 502 错误网关 503 服务器超载 有可能但是您可以确保fastcgi_intercept_errors被设置为ON并使用错误页面指令。 Location / { fastcgi_pass 127.0.01:9001; fastcgi_intercept_errors on; error_page 502 503/error_page.html; #… }12、在Nginx中解释如何在URL中保留双斜线? 答要在URL中保留双斜线就必须使用merge_slashes_off; 语法:merge_slashes [on/off] 默认值: merge_slashes on 环境: httpserver 13、请解释ngx_http_upstream_module的作用是什么? 答ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组。14、请解释什么是C10K问题? 答C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。15、请陈述stub_status和sub_filter指令的作用是什么? 答 1Stub_status指令该指令用于了解Nginx当前状态的当前状态如当前的活动连接接受和处理当前读/写/等待连接的总数 2Sub_filter指令它用于搜索和替换响应中的内容并快速修复陈旧的数据 16、解释Nginx是否支持将请求压缩到上游? 答您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。17、解释如何在Nginx中获得当前的时间? 答要获得Nginx的当前时间必须使用SSI模块、$date_gmt和$date_local的变量。Proxy_set_header THE-TIME $date_gmt;18、用Nginx服务器解释-s的目的是什么? 答用于运行Nginx -s参数的可执行文件。19、解释如何在Nginx服务器上添加模块? 答在编译过程中必须选择Nginx模块因为Nginx不支持模块的运行时间选择。20、 nginx负载均衡的算法怎么实现的 1nginx 的 upstream目前支持 4 种方式的分配 1)、轮询默认 每个请求按时间顺序逐一分配到不同的后端服务器如果后端服务器down掉能自动剔除。 2)、weight 指定轮询几率weight和访问比率成正比用于后端服务器性能不均的情况。 3)、ip_hash 每个请求按访问ip的hash结果分配这样每个访客固定访问一个后端服务器可以解决session的问题。 4)、fair第三方 按后端服务器的响应时间来分配请求响应时间短的优先分配。 5)、url_hash第三方 2nginx内置策略包含加权轮询和ip hash 加权轮询算法分为先深搜索和先广搜索那么nginx采用的是先深搜索算法即将首先将请求都分给高权重的机器直到该机器的权值降到了比其他机器低才开始将请求分给下一个高权重的机器 21、Nginx是如何处理一个请求的呢 首先nginx在启动时会解析配置文件得到需要监听的端口与ip地址然后在nginx的master进程里面 先初始化好这个监控的socket再进行listen 然后再fork出多个子进程出来, 子进程会竞争accept新的连接。 此时客户端就可以向nginx发起连接了。当客户端与nginx进行三次握手与nginx建立好一个连接后 此时某一个子进程会accept成功然后创建nginx对连接的封装即ngx_connection_t结构体 接着根据事件调用相应的事件处理模块如http模块与客户端进行数据的交换。 最后nginx或客户端来主动关掉连接到此一个连接就寿终正寝了 22、nginx为什么不使用多线程 Apache: 创建多个进程或线程而每个进程或线程都会为其分配cpu和内存线程要比进程小的多所以worker支持比perfork高的并发并发过大会榨干服务器资源。 Nginx: 采用单线程来异步非阻塞处理请求管理员可以配置Nginx主进程的工作进程的数量(epoll)不会为每个请求分配cpu和内存资源节省了大量资源同时也减少了大量的CPU的上下文切换。所以才使得Nginx支持更高的并发 23、如何解决惊群现象 惊群是多个子进程在同一时刻监听同一个端口引起的 Nginx解决方法同一个时刻只能有唯一一个worker子进程监听web端口此时新连接事件只能唤醒唯一正在监听端口的worker子进程。 采用锁互斥量实现转载于:https://www.cnblogs.com/ivy-zheng/p/10992144.html