Nginx配置 教程

Nginx(engine x) 是一款高性能、轻量级的 HTTP 和 反向代理 Web 服务器,同时也提供了 IMAP/POP3/SMTP 等服务。Nginx 最初是由伊戈尔·赛索耶夫为俄罗斯网站 Rambler.ru 开发的 Web 服务器,并在 2004 年 10 月 4 日发布了第一个公开版本 0.1.0。Nginx 源代码以类 BSD 许可证的形式发布。

Nginx 以运行的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名,其主要特点是占用内存少,并发能力强。Nginx 的并发能力在同类型的网页服务器中表现最好。在中国,所有大中型的网站几乎都在使用 Nginx:包括阿里、腾讯、百度、京东、新浪、网易等。

官方网站:http://www.nginx.org

Github地址:https://github.com/nginx/


 

1. 常见的 Web 服务器产品

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

Nginx 教程

由上图可以看出 Nginx 的市场占有率越来越高。

常见的 Web 服务器产品包括:

1) Apache 服务器(httpd)

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

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

2) IIS(微软)

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

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

3) Tomcat 服务器

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

但是这并不影响他们成为一对互相配合的的产品。尤其是在 Java 项目的前后端分离的开发模式中,经常会使用 Apache 来处理静态页面,用 Tomcat 来配合处理动态请求。

4) Lighttpd 服务器

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

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

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

 

2. Nginx 服务器的功能

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

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

 

3. Nginx 服务器的用途

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

Nginx 作为一款免费开源的高性能 HTTP 服务器及反向代理服务器(ReverseProxy)产品,以其功能丰富著称于世。Nginx 的功能可以分为:基本 HTTP 服务、高级 HTTP 服务和邮件服务等三大类。