摘自:《Nginx高性能Web服务器实战教程》
一、Web服务器
Web 服务器又称为 WWW(World Wide Web ,万维网)服务器,或网站服务器, 主要用于提供网上信息浏览服务。Nginx 就是一款高性能的 Web 服务器软件 。
目前, Linux 和 Windows Server 操作系统是搭建 Web 服务器最为常见的系统。 其中,Linux 系统的特点是安全性高且代码开源,是较为理想的 Web 服务器操作系统,在该平台下常见的 Web 服务器软件有 Apache 、 Tomcat 、 Lighttpd 和 Nginx 等;而在 Windows Server平台下常见的 Web 服务器软件是 Microsoft IIS 。
1.1 Apache
Apache(Apache HTTP Server)是目前广泛流行的 Web 服务器软件,具有开放源代码、跨平台、安全稳定等特点 。 Apache 是伴随五联网的兴起共同成长的,经过多年的技术沉淀和积累,已经非常成熟和稳定,具备了大量的功能模块和扩展 。 但由于 Apache 在设计之初对性能和资源的消耗没有过多的关注,导致在应对高并发的业务场景时,被一些轻量级的 高性能 Web 服务器赶超 。
1.2 Tomcat
Tomcat(Apache Tomcat)主要用于 Java Web 环境,是一个运行 Servlet 和 JSP 的容器(即运行 Java 语言的服务器端程序)。 Tomcat 和 Apache 都是由 Apache 软件基金会运作的开源项目, Tomcat 本身可作为一个单独的 Web 服务器使用,主要用于处理动态请求 , 但在静态资源和高并发方面的性能较弱,因此经常和 Apache 等软件搭配,实现动静态请求分离。
1.3 Lighttpd
相对于 Apache 服务器,由德国人发起的轻量级开源 Web 服务器软件 Lighttpd ,不仅实现了 Apache 的常用功能,同时还保持了轻量级的优势,具有低内存开销、低 CPU 占用率、性能高以及模块丰富等特点 。 目标是专门针对高性能网站提供一个安全、快速、兼容性强且配置灵活的 Web 服务器环境 。
1.4 Nginx
Nginx (读作 engine x)是一个轻量级开源 Web 服务器软件,可以作为反向代理、负载均衡与缓存服务器使用。 Nginx 和 Lighttpd 都是为高并发网站的应用场景而设计的。随着技术发展和业务需要,Nginx 逐渐受到关注,在国内如百度、淘宝、腾讯、新浪、网易等网站都开始使用 Nginx 来满足一些高并发访问的需求。
1.5 Microsoft llS
IIS(Internet Information Services ,互联网信息服务)是 Microsoft (微软)公司的 Web服务器产品,运行在 Windows Server 平台,具有图形界面管理工具。 IIS 是目前被广泛采用的 Web 服务器软件之一 ,在全球占有相当大的市场份额 。 IIS 和 Windows Server 组合可以提供可靠 、完整的网络服务器解决方案,但作为付费软件,需要支付一定的软件成本。
二、Nginx
Nginx 是俄罗斯人 Igor Sysoev 开发的一个开源的高性能 Web 服务器软件,具有轻量级和高并发的特点。Nginx 可以提供 HTTP 服务,包括处理静态文件,支持 SSL (提供 HTTPS 访问)、 GZIP(网页压缩)、虚拟主机、 URL 重写等功能,可以搭配 FastCGI 程序(如 PHP)处理动态请求。除此之外,Nginx 还可以用于代理、反向代理、负载均衡、缓存等服务器功能,在集群环境中解决网络负载、提高可用性等。