• Nginx简介


    常见的Web服务器产品

    目前市场上比较流行的Web服务器主要有Apache、Microsoft IIS、Sun、Nginx、Tomcat、Lighttpd等。

    由上图可以看出Nginx的市场占有率越来越高。但是在介绍本篇文章的主角——Nginx之前,我们还是有必要来简单了解下其他几个产品。

    Apache服务器(httpd)

    Apache服务器是Apache软件基金会下面的一款Web服务器,平时我们将这个服务器称为httpd。这款服务器和其他Web服务器比起来特性最全,并且运行速度快,性能相对稳定,而且扩展功能丰富。

    Apache Web服务器是当今Web服务器市场中的领军产品,但在具体的使用过程中,它仍然在某些方面表现不足——比如性能方面。

    IIS

    IIS,是Internet InformationServices的缩写。IIS不仅仅是一款Web服务器,同时还包含了Gopher Server(Web上一种信息查找系统)和FTP Server,并且可以用于HTTP Server、FTP Server、NNTP Server或者SMTP Server。我们通过IIS不仅仅可以发布网页,它还可以提供新闻服务、文件和应用程序服务、邮件服务等。

    IIS的功能非常强大,但是缺点也显而易见——IIS和Window平台强绑定。

    Tomcat服务器

    Tomcat也是Apache软件基金会下面的一款产品。其实Tomcat的“本职工作”是一个Servlet容器,只是附带了Web服务器的功能。因此Tomcat在处理静态HTML页面方面的能力不如Apache这些职业选手。

    但是这并不影响他们成为“好基友”。在前后端分离的开发模式中经常使用Apache来处理静态页面,用Tomcat来配合处理动态请求。

    Lighttpd服务器

    Lighttpd服务器来自德国的一个开源轻量级Web服务器软件,它在2004年左右开始取得了高速发展。

    Lighttpd的急速发展得益于它专门针对高性能网站,提供了一套安全、快速、兼容性良好并且灵活的Web Server环境。同时,它具有非常低的内存开销、CPU占用率低以及模块丰富等特点,支持FastCGI、Output Compress(输出压缩)、URL重写等绝大多数Apache具有的重要功能,是Apache的绝好替代者。

    作为轻量级服务器,Lighttpd与Apache等大型Web服务器软件相比,其在功能上存在不足和部分缺陷,比如Proxy功能不完善、对编码支持不完善等缺点。

    Nignx是什么

    Nginx是一款免费开源的高性能HTTP服务器及反向代理服务器(ReverseProxy)产品,同时,它还可以提供IMAP/POP3代理服务等功能。在实际的使用中,Nginx还可以提供更多更丰富的功能,我们将在下一节介绍它的功能。

    Nginx是俄罗斯人Igor Sysoev(伊戈尔·塞索耶夫)编写的一款高性能的HTTP和反向代理服务器。Nginx能够选择高效的epoll(Linux 2.6内核)、kqueue(FreeBSD)、eventport(Solaris10)作为网络I/O模型,在高连接并发的情况下,Nginx是Apache服务器不错的替代品,它能够支持高达50000个并发连接数的响应,而内存、CPU等系统资源消耗却非常低,运行非常稳定。

    Nginx的官方网站为http://www.nginx.org

    Nginx不断成长和发展,以其稳定的性能、丰富的功能集、支持高并发连接、低系统资源的消耗而逐渐被全球Web服务器使用者认可。

    Nignx主要功能

    Nginx服务器以其功能丰富著称于世。它既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器;能够快速响应静态页面(HTML)的请求;支持FastCGI、SSL、Virtual Host、URL Rewrite、HTTP Basic Auth、Gzip等大量使用功能;并且支持更多的第三方功能模块的扩展。

    可以将Nginx的功能分为三个部分:基本HTTP服务、高级HTTP服务和邮件服务等三大类。

    1. 基础的Http服务

    在Nginx提供的基本HTTP服务中,主要包含以下功能特性:

    • 处理静态文件(如HTML静态网页及请求);处理索引文件以及支持自动索引。(常用功能
    • 打开并自行管理文件描述符缓存。
    • 提供反向代理服务,并且可以使用缓存加速反向代理,同时完成简单负载均衡及容错。(常用功能
    • 提供远程FastCGI服务的缓存机制,加速访问,同时完成简单的负载均衡以及容错。
    • 使用Nginx的模块化特性提供过滤器功能。Nginx基本过滤器包括gzip压缩、ranges支持、chunked响应、XSLT、SSI以及图像缩放等。其中,针对包含多个SSI的页面,经由FastCGI或反向代理,SSI过滤器可以并行处理。
    • 支持HTTP下的安全套接层安全协议SSL。

    2. 高级的Http服务

    在Nginx提供的高级HTTP服务中,主要包含以下功能特性:

    • 支持基于名字和IP的虚拟主机设置;
    • 支持HTTP/1.0中的KEEP-Alive模式和管线(PipeLined)模型连接。
    • 支持重新加载配置以及在线升级时,无须中断正在处理的请求。
    • 自定义访问日志格式、带缓存的日志写操作以及快速日志轮转。后面章节会讨论其具体应用。
    • 提供3xx~5xx错误代码重定向功能。后面章节会讨论其具体应用。
    • 支持重写(Rewrite)模块扩展。后面章节会讨论其具体应用。
    • 支持HTTP DAV模块,从而为Http WebDAV提供PUT、DELETE、MKCOL、COPY以及MOVE方法。
    • 支持FLV流和MP4流传输。
    • 支持网络监控,包括基于客户端IP地址和HTTP基本认证机制的访问控制、速度限制、来自同一地址的同时连接数或请求数限制等。
    • 支持嵌入Perl语言。

    3. 邮件代理服务

    Nginx提供邮件代理服务也是其基本开发需求之一,主要包含以下功能特性:

    • 支持使用外部HTTP认证服务器重定向用户到IMAP/POP3后端,并支持IMAP认证方式(LOGIN、AUTH LOGIN/PLAIN/CRAM-MD5)和POP3认证方式(USER/PASS、APOP、AUTH LOGIN/PLAIN/CRAM-MD5)。
    • 支持使用外部HTTP认证服务器认证用户后重定向连接到内部SMTP后端,并支持SMTP认证方式(AUTH LOGIN/PLAIN/CRAM-MD5)。
    • 支持邮件代理服务下的安全套接层安全协议SSL。
    • 支持纯文本通信协议的扩展协议STARTTLS。
  • 相关阅读:
    一幅图解决R语言绘制图例的各种问题
    新时代,建立你的数据分析思维
    新时代,建立你的数据分析思维
    聚类分析基础知识总结及实战解析
    聚类分析基础知识总结及实战解析
    js中 opener和parent的差别
    Latex中參考文献排序
    Android之——清理手机SD卡缓存
    drupal7 使用(hook_preprocess_HOOK)向各个主题模版里面传递变量
    python 正則表達式推断邮箱格式是否正确
  • 原文地址:https://www.cnblogs.com/54chensongxia/p/12905863.html
Copyright © 2020-2023  润新知