码迷,mamicode.com
首页 > 其他好文 > 详细

Nginx知识点

时间:2020-12-18 13:14:38      阅读:4      评论:0      收藏:0      [点我收藏+]

标签:编码方式   支持   参数   网关   ash   ngx   端口   开启   目的   

Nginx知识点总结

  1. 什么是Nginx?

    Nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。

  2. Nginx的一些相关特性?

    • 反向代理/L7负载均衡器

    • 嵌入式PerL解释器

    • 动态二进制升级

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

  3. Nginx和Apache的区别?

    • 轻量级,同样起web服务,比Apache占用更小的内存及资源

    • 抗并发,Nginx处理请求是异步非阻塞的,而Apache则是阻塞型的,在高并发下Nginx能保持低资源、低消耗、高性能

    • 高度模块化设计,编写模块相对简单

    • 最核心的区别在于Apache是同步多线程模型,一个连接对应一个进程;Nginx是异步连接,多个连接可以对应一个进程

  4. Nginx是如何实现高并发的?

    一个主进程,多个工作进程,每个工作进程可以处理多个请求,每进来一个request,都会有一个worker进程去处理。但不是全程的处理,处理到可能发生阻塞的地方,比如像上游(后端)服务器转发request,并等待请求返回。那么,这个处理的worker继续处理其他请求,而一旦上游服务器返回了,就会触发这个事件,worker才会来接手,这个request才会接着往下走,由于web server的工作性质决定了每个request的大部分生命都是在网络传输中,实际上花费在server机器上的时间片并不多。这是几个进程就解决高并发的秘密所在,即@skoo所说的webserver刚好属于网络io密集型应用,不算是计算密集型。

  5. Nginx是如何处理HTTP请求的?

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

  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的错误替换为502错误、503错误?

    502=网关错误 503服务器超载 有可能,但是要确保fastcgi_intercept_errors被设置为ON,并使用页面错误指令

    Location / {fastcgi_pass 127.0.0.1:9001;fastcgi_intercept_errors on;error_page 502=503/error_page.html;#...}

  11. 在Nginx中,解释如何在URL中保留双斜线?

    要在Nginx中保留双斜线,就必须使用merge_slasher_off;

    语法:merge_slasher[om/off]

    默认值:merge_slasher on

    环境:http,server

  12. ngx_http_upstream_module的作用时什么?

    ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组

  13. 什么时C10K问题?

    C10K问题是指无法同时处理大量客户端(10,000 )的网络套接字

  14. Nginx是否支持将请求压缩到上游?

    可以使用Nginx模块gunZip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gZip”编码方式的客户机或者服务器使用“内容编码:gZip”来解压缩相应。

  15. 如何在Nginx中获得当前时间?

    要获得nginx的当前时间,必须使用SSI模块、$date_local的变量。proxy_set_herder THE_TIME $date_gmt;

  16. 用Nginx服务器解释-s的目的是什么?

    用于运行Nginx -s参数的可执行文件

  17. 如何在Nginx服务器上添加模块?

    在编译过程中,必须选择Nginx服务器上添加模块,因为Nginx不支持模块的时间选择

  18. 负载均衡策略

    负载均衡的策略可以大致分为两大类:内置策略和扩张策略。内置策略:一般会直接编译进Nginx内核,常用的有轮询、ip hash、最少连接;扩张策略:fair、url hash等

Nginx知识点

标签:编码方式   支持   参数   网关   ash   ngx   端口   开启   目的   

原文地址:https://www.cnblogs.com/juddy/p/14131041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!