Nginx 功能

Nginx 作为一款免费开源的高性能 HTTP 服务器及反向代理服务器(ReverseProxy)产品,以其功能丰富著称于世。它既可以作为 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。

作为 HTTP 服务软件,具有更好的稳定性和高效性,被越来越多的大中小网站所使用。Nginx 常用来提供静态或动态 HTTP 服务、反向代理服务、负载均衡、Web 缓存等用途。