IIS、Apache和Nginx对比
Java网站的服务器一般都采用IIS、Apache和Nginx中的一种,本节会介绍这三种服务器及其各自的优缺点。
◇ IIS
网址:https://www.iis.net/
IIS是微软公司提供的在Windows系统上运行的互联网基本服务,英文全称为“Internet Information Services”,意为“互联网信息服务”。IIS包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面。开发人员可以很容易地在IIS上部署网站,并能发布网页,它支持PHP、ASP、Java、VBScript等编程语言。
◇ Apache
网址:https://httpd.apache.org/
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开源网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台的优势和安全性而被广泛使用,是最流行的Web服务器软件之一。Apache是一个开源项目,其目标是提供一个安全、高效和可扩展的服务器,并提供与当前HTTP标准同步的HTTP服务。Apache服务器也叫作httpd,于1995年推出,它快速、可靠,并且可通过简单的API扩充,自1996年4月以来一直是互联网上最受欢迎的网络服务器。
◇ Nginx
网址:https://nginx.org/
Nginx是最初由伊戈尔·塞索耶夫(Igor Sysoev)编写的HTTP和反向代理服务器、邮件代理服务器和通用TCP/UDP代理服务器,使用异步事件驱动的方法来处理请求。Nginx是一款面向性能设计的HTTP服务器,Nginx的编写有一个明确目标,就是超越Apache Web服务器的性能,所以和Apache等其他服务器相比,它具有占用内存少、稳定性高等优势。
全球有大量的服务器使用IIS、Apache和Nginx,它们各自又有哪些优点和缺点呢?
1.开源和收费
IIS不具备跨平台的特点,只支持在Windows上运行,想要合法使用IIS就要购买正版Windows操作系统。而Apache和Nginx都是完全免费的,不需要支付任何费用就可以下载并使用。大部分科技公司由于服务器采用Linux操作系统,因此使用Apache和Nginx较多,而那些服务器都采用Windows系统的大型企业,则一般会选用IIS作为服务器。(www.xing528.com)
2.稳定性
由于Windows操作系统的缘故,IIS的稳定性会比Linux下的Apache和Nginx弱。IIS在实际使用中会偶尔出现500错误,用户需要不定期地重新启动以确保IIS网站正常运行。Apache和Nginx配置更为灵活,也更为复杂,不过一经设置完毕就可以长期地工作,一般情况下一台配置好的服务器运行一年也不会出现服务问题。
3.性能
三者之中,Nginx性能最高,适合高可用性的HTTP服务,而Apache更适合通用的Web网站推广,IIS则与.net网站配合最佳。例如PHP语言,自PHP 5.3.3起,PHP-FPM加入到了PHP核心,编译时加上“--enable-fpm”即可提供支持。PHP-FPM以守护进程在后台运行,Nginx响应请求后,自行处理静态请求,PHP请求则经过fastcgi_pass交由PHP-FPM处理,处理完毕后返回。Nginx和PHPFPM的组合,是一种稳定、高效的PHP运行方式,效率要比传统的Apache和IIS高很多。
4.复杂度
IIS使用起来比较简单,很容易部署并对外发布网站。Nginx和Apache的使用要比IIS难,要求用户需具备一定的计算机及网络基础;它们的配置也不是图形化的,需要用户通过编辑配置文件来实现。从配置本身来说,Apache提供了丰富的模块,因此配置最为复杂。
5.使用范围
如图2.5.1所示,从目前全球网站使用这三种服务器的百分比来看,排在第一的是Apache。
图2.5.1 服务器全球比例①
因为Nginx的发布比Apache晚,所以最初Apache占据了主要的市场份额。这些年,Nginx越来越普及。如图2.5.2所示,从这三种服务器百分比的历史趋势来看,Nginx还处于持续增长的阶段。
图2.5.2 服务器全球比例②
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。