IIS、 Apache和 Nginx对比
PHP网站的服务器一般都采用IIS、 Apache和 Nginx中的一种,本小节会介绍这三种服务器及其各自的优缺点。
IIS
网址:https://www.iis.net
IlS是微软公司提供的在 Windows系统上运行的互联网基本服务,英文全称为“ Internet Information Services”,意为“互联网信息服务”。IIS包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面。开发人员可以很容易地在IIS上面部署网站,并能发布网页,支持PHP、ASP、Java、 VBScrip等编程语言。
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作为服务器。
2.稳定性
由于 Windows操作系统的缘故,IIS的稳定性会比linux下的 Apache和 Nginx弱,IIS在实际使用中会偶尔出现500错误,用户需要不定期地重新启动以确保IIS网站正常运行。Apache和 Nginx配置更为灵活,也更为复杂,但一经设置完毕就可以长期地工作,一般情况下一台配置好的服务器运行一年也不会出现服务问题。
3.性能
三者之中, Nginx性能最高,适合高可用性的http服务,而 Apache更适合通用的Web网站,IIS则与.net网站配合最佳。自PHP53.3起,PHP-FPM加入到PHP核心,编译时加上‘’- -enable-fpm‘’即可提供支持。PHP-FPM以守护进程的方式在后台运行,Nginx响应请求后,自行处理静态请求,请求则经过 fastcgi_pass交由PHP-FPM处理,处理完毕后返回。Nginx和 IPHP-FPM的组合,是种稳定、高效的PHP运行方式,效率要比传统的Apache和IIS高很多。
4.复杂度
IIS使用起来比较简单,很容易部署并对外发布网站。Nginx和 Apache的使用要比IIS难,需要有一定计算机及网络基础的人才可以使用,它们的配置也不是图形化的,需要我们通过编辑配置文件来实现。从配置本身来说,Apache提供了丰富的模块,因此配置最为复杂。
5.使用范围
从目前全球网站使用这三种服务器的百分比来看,排在第一的是 Apache。
因为Nginx的发布比Apache晚,所以最初Apache占据了主要的市场份额。这些年,Nginx越来越普及,从这三种服务器百分比的历史趋势来看,Nginx还处于持续增长的阶段。