刘佳
摘要:目前用来搭建WEB服务器的软件产品很多,对于WEB服务器软件的选用直接关系到WEB访问的性能。进而影响网站的访问量,是直接影响网站性能的关键因素,也是网站建设者在搭建网站运行环境时需要考虑的问题。目前用于搭建WEB服务器的软件产品非常多,让人目不暇接,被选最多和最有代表性的当属微软的IIS、Apache、和Nginx。本文通过讲解Apache和Nginx以及IIS的各自起源、特点和优势,并对三种主流WEB服务器搭建技术进行对比,从而帮助广大用户们能够选择适合自己的WEB服务器,提升WEB服务器性能。
关键词:WEB服务;进程;服务组件
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2020115-0081-02
WEB服务器也称为WWW服务器、HTYP服务器,其主要功能是提供网上信息浏览服务。在互联网发展的初期,人们只能单纯地在互联网上使用TELNET服务、FTP服务、邮件服务等简单的网络应用,而且必须使用专门的客户端软件才能实现。WEB服务器出现后,由于界面非常友好,操作简单,并且集成了FTP和邮件的相关功能,当WEB服务在网络上一经推出,就受到了广大网民的追捧,随着WEB应用的不断发展,Internet也得到了迅猛的发展,可以说因特网的发展与WEB技术的出现是密不可分的。大大降低了人们使用互联网的门槛,因此WEB服务器成为互联网上乃至全球最大的计算机集群。人们的生活方式也得以彻底改变。
1WEB服务的起源发展和特点
互联网迅猛发展之前,人们只能通过传统媒体如报纸、广播、杂志、电视获取信息。这种信息的获取方式是单方面的,对使用者而言是被动的,但随着计算机网络的发展,人们已不再满足于使用传统媒体那种单方面传输和获取的方式,而希望有一种主观的选择性。于是WEB应时而生。1989年Web的应用架构是由英国人Tim Berners-Lee提出,它的前身是1980年Tim Berners-Iee负责的Enquire(Enquire Within Upon Everything的简称)项目。1990年第一台WEB服务器nxoeO1.eem.eh开始运行,全球第一次出现了图形化Web浏览器。值得一提的是在1993年,WEB技术突破性解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,使得WEB成为可以集成原有因特网上的各项服务,成为当时最为流行的信息传播方式。这种传播方式的改变使得人们可以主动的选择浏览WEB站点上的新闻、财经、气象、音频、视频资料。而不像以往传统媒体被动的、单方面的接收信息。人们可以随意在WEB上进行文件检索,通过搜索引擎查找自己关注的急需的相关信息。目前,Web服务器成为全世界范围内上最大的计算机集群,WEB页面数量之多,涉及范围之广,影响之大无法想象。WEB的出现使得人们使用INTERNET的门槛大大降低,正是WEB的发展使得INTERNET的普及速度迅猛提升,WEB的出现是近年来Internet上取得的最激动人心的成就。WEB服务是使用分布式结构,包括了浏览器/服务器结构(B/s),其中WEB服务作用是整理和储存各种WEB资源,并响应客户端软件(浏览器)的请求,把客户所需的资源传送到各类不同平台的客户端机器上。从事WEB开发的相关技术人员,无论是前端开发还是后台数据库搭建,依然是当期计算机从业的主流。目前支持搭建WEB服务器的软件众多,从事WEB开发的技术人员至少需要掌握Apache、Nginx以及微软的IIS其中的一种。下面对这三者分别进行介绍。
2龙头Apache HTTP Server起源、特点及优势
Apache目前在全球WEB服务器搭建软件中市场的占有率大约在百分之六十左右,是名副其实的龙头老大。Apache名字的来源是“a patchy server”,英文直译为打满补丁的服务器,中文也称之为阿帕奇。因为软件跨平台和安全性能出色而被广泛应用。最早的Apache源于NCSAhttpd服务器。因为是开放源码的软件,所以不断有人来为此软件修改本身存在的缺陷,经过多次修改,他的性能不断提升,功能也不断完善,可以通过简单的API进行功能的扩充。目前是世界上最为流行的WEB服务器软件。阿帕奇的特点是可以充当代理服务器来使用,他的性能非常稳定而且速度快。与Linux或Unix能够完美结合。阿帕奇不适用于多处理器环境。他的运行以进程为基础,相对于线程,进程要消耗更多的系统开支,因而在进行网站扩充时,一般要通过扩充节点集群或通过增加服务器的方式得以实现。阿帕奇的优势在于Apache基金会下有一个项目组,将这个组织的开发爱好者们聚集在一起,不断对他的源码进行优化和持续开放,不斷完善阿帕奇的各项功能,目前世界上很多著名的网站如:雅虎、亚马孙、W3 Consortium等。这些网站的服务器都是使用Apache搭建。他的移植性能优越。并且可以运行在几乎所有的Unix、Windows、Linux系统平台上。
3后起之秀Nginx的特点和优势
Nginx是由俄罗斯软件工程师Igor svsoev编写的免费开源Web服务器。自从2004年上市以来,nginx专注于高性能,高并发性和低内存使用。并且其在负载均衡,缓存,访问和带宽控制以及与各种应用程序高效集成等方面的特性,都使得它逐步深受广大用户青睐。事实上Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。Nginx是通过异步的、非阻塞的、事件驱动的方式在实现的。Nginx的工作进程是单线程的,每个线程可以异步的处理大量的用户请求。动态内容处理是Nginx的痛点。Nginx处理动态内容的效率并不高,且需借助外部的处理器。总之Nginx的特点是并发处理能力强,并且在服务器软件运行过程中软件本身占用的内存比例很少,能大大节约服务器的内存资源。目前在我国国内被广泛使用。使用nginx搭建网站的著名网站平台有:腾讯、淘宝、京东、百度、新浪、网易等。它的并发处理能力在N6-网站服务器软件对比中首屈一指。
4简单易用微软IIS的特点、优势和不足
IIS是Internet Information Services的缩写,是由美国微软公司开发和提供的服务器搭建软件。一般我们学习搭建WEB服务器的人门都是使用IIS。它是随着正版WINDOWS发行的可选组件包。它不能安装在除WINDOWS以外的其他操作系統中。最早在WIN NT中出现IIS可选组件,后续微软发行的WINDOWS版本都自带。由于IIS是随WINDOWS正版一起发售,那么在合法使用IIs时就必须付费。所以他是付费的WEB服务器软件。使用IIS搭建WEB服务器非常简单易学。新手能使用IIS迅速搭建一个WEB站点,并提供所需的FIT服务和邮件服务。但是IIS又有很多不足,IIS经常会出现一些莫名其妙的错误,有时搭建的WEB服务器会出现假死或出现500错误。在安全性方面,IIS容易受到远程执行漏洞的威胁,黑客容易通过远程执行漏洞在系统账号中执行任意代码。导致数据丢失或机器蓝屏。它的最大不足是在系统的可移植性方面,如果离开了WINDOWS的环境,它将无法生存,也无法把WEB站点移植到其他操作系统平台上。
5结语
主流和代表性的WEB服务器软件Apache、Nginx以及微软的IIS各有特点、优势也各有不足,下面对这三者进行简单的对比分析,Apache和Nginx最大的不同在于它们对连接的处理方式。Apache提供一系列多重处理模块,通过这些多重处理模块来使用操作系统的资源,对进程和线程池进行管理,控制处理用户请求。与Apache不同,Nginx是通过异步的、非阻塞的、事件驱动的方式在实现的。Nginx的工作进程是单线程的,每个线程可以异步的处理大量的用户请求。Apache拥有丰富的模块组件支持,稳定性强,BUG少,动态内容处理强。Ngi.x轻量级,占用资源少,负载均衡,高并发处理强,静态内容处理高效。从付费角度来看Apache是完全免费的,不需要支付任何费用就可以免费下载使用,而Ⅱs是收费的,但在配置角度而言,Apache的配置币IIS要复杂,不过已经配置完毕就可以长期使用。目前很多公司和企业不希望聘请专门的网络技术来维护自己的网站,但因为公司宣传的需要又必须有自己个陛化的站点,尤其是一些简单站点只用于对外宣传和展示,系统复杂度不高,因此必然会找上手相对容易的工具来搭建自己的WEB服务站点,IIS开起来非常容易,很方便地就能让IIS32作,对外发布自己的站点。存在即有道理,Apache和Nginx、IIS作为WEB服务各有所长,三者并不存在将来谁会完全替代谁。关键在于用户要认真考虑清楚自己的应用场景,根据自己的需求和情况来斟酌选择哪个产品,毕竟适合自己的才是最好的。