目前,最主流的WEB服务器有以下几个:
Internet Information Services(简称IIS),是微软公司推出的WEB服务器组件,也是Windows Server默认,特有的,自带的WEB服务器,需要用户手动添加组件。IIS组件包括WEB服务器、FTP服务器、NNTP服务器和SMTP服务器。
IIS支持的操作系统:Windows 系统
IIS组件使得用户在网上发布信息变得相对容易,人们口中提到的IIS大部分时候特指其中的WEB服务器,IIS具有强大、安全和灵活等特性,但是只能在Windows系统上运行。
IIS对ASP.NET有着极好契合性,但是对PHP和JSP而言,相对操作比较麻烦。所以一般只在使用ASP.NET进行开发时,选用IIS作为WEB服务器。
Apache HTTP Server(简称Apache)是目前世界上最流行的WEB服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器。Apache是Apache软件基金会的一个开放源码的网页服务器,它是一个自由软件,所以不断有工程师在为Apache开发新的功能,新的特性,修改bug。
The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.
Apache的特点:免费,简单,速度快,性能稳定和可移植性强,并且可以当成代理服务器使用。
Apache支持的操作系统:Unix、Linux、Windows、Mac OS等系统,支持绝大部分的系统平台,尤其对Linux系统完美契合。
在WEB服务器中,Apache是纯粹的WEB服务器,本身只支持HTML静态网页,但是可以和其他服务器一起工作或者添加插件来支持PHP、JSP、ASP等。
详细请前往Apache HTTP Server官网查阅:httpd.apache.org
Apache Tomcat(简称Tomcat)是一个开放源代码的WEB应用服务器,属于轻量级应用服务器。同时它也是一个基于java,可运行Servlet和JSP的应用软件容器。所以它支持JSP动态页面,也可以处理HTML,但是 理html的效率不如Apache 。
The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.
在Java开发WEB应用时,我们经常在编辑工具中(例如,Eclipse)安装Tomcat服务器,以便JSP和HTML页面可以在浏览器中显示网页。
Apache只支持静态网页 , 如果要在Apache环境下运行JSP的话, 就需要一个解释器来执行JSP网页, 而这个JSP解释器就是Tomcat。
Apache支持静态页面解析,Tomcat支持动态页面解析,当WEB使用Java时,那么Apache+Tomcat是完美组合。
网上有个比较形象的比喻说Apache像一辆卡车,卡车上面可以装一些东西比如HTML,但是不能装动态的水(JAVA),而Tomcat就是一个木桶,可以用来装水(JAVA)。水可以放在卡车上也可以放在其他地方。
详细请前往Apache Tomcat官网查阅:tomcat.apache.org
Nginx是俄罗斯人Igor Sysoev编写的异步框架的,轻量级Web服务器,它的发音为 [ˈendʒɪnks] ,它不仅是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。
Nginx的主要作用:
Nginx 的编写有一个明确目标就是超越 Apache Web 服务器的性能[1]。Nginx 提供开箱即用的静态文件,使用的内存比 Apache 少得多,每秒可以处理大约四倍于 Apache 的请求[2]。 在低并发下 Nginx 的性能与 Apache 相当(有时候还低于),但是在高并发下 Nginx 能保持低资源低消耗高性能。Nginx 的优点还包括:高度模块化的设计,模块编写简单,以及配置文件简洁。
相比起在Linux下的Nginx,在Windows Server下的Nginx的稳定性较差。而Apache对两者都有较好的支持。
截至2019年12月,差不多世界上每3个网站中就有1个使用Nginx。
详细请前往Nginx官网查阅:nginx.org
比较选项/WEB服务器 | IIS | Apache | Tomcat | Nginx |
---|---|---|---|---|
服务器 | 包括HTTP服务器 | HTTP服务器 | Java应用服务器 | 轻量级HTTP服务器 |
是否支持静态网页 | 是 | 是 | 是(不理想) | 是 |
自身是否支持动态网页 | 是 | 否 | 是 | 否 |
厂商 | 微软 | Apache | Apache | Nginx社区 |
价格 | 收费 | 免费 | 免费 | 免费(有收费版) |
支持的操作系统 | 仅限Windows | Windows、Linux | Windows、Linux | Windows(不理想)、Linux |