Nginx学习笔记系列一:为什么选择Nginx(常见的服务器对比)
常见的服务器对比
IIS
全称Internet Information Service,即互联网信息服务,是由微软公司提供的基于windows系统的互联网基本服务。windows作为服务器,在稳定性和其他一些性能上都不如类UNIX系统,因此,在需要高性能Web服务器的场合下,IIS就会被冷落
TomCat
TomCat是一个运行Servlet和JSP的Web应用软件,Tomcat技术先进,性能稳定而且开放源代码,因此深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。但是Tomcat天生是一个重量级的Web服务器,对静态文件和高并发的处理比较弱
Apache
Apache的发展时期很长,同时也有过一段辉煌的业绩。Apache有很多优点,如稳定、开源、跨平台等等。但是它出现的时间太久了,在它兴起的年代,互联网产业规模远远不如今天,所以它被设计成一个重量级的、不支持高并发的Web服务器,在Apache服务器上,如果有数以万计的并发HTTP请求同时访问,就会导致服务器消耗大量内存,操作系统内核对成百上千的Apache进程做进程间的切换也会消耗大量的CPU资源,并导致HTTP请求的平均响应速度降低,这些都决定了Apache不可能成为高性能的Web服务器。这也促使了Lighttpd和Nginx的出现
Lighttpd
Lighttpd是德国的一个开源的Web服务器软件,它和Nginx一样,都是轻量级、高性能的Web服务器,欧美的业界开发者比较钟爱Lighttpd,而国内的公司更多的青睐Nginx,同时网上的Nginx的资源要更丰富一些
其他的服务器
Google Servers,Weblogic,Webshpere(IBM)
经过各个服务器对比,种种迹象都表明,Nginx将以性能为王。
Nginx的优点
速度更快、并发更高
单次请求或者高并发请求的环境下,Nginx都会比其他web服务器响应的速度更快,一方面在正常情况下,单次请求会得到更快地响应,另一方面,在高峰期(如有数以万计的并发请求),Nginx比其他Web服务器更快的响应请求。Nginx之所以有这么高的并发处理能力和这么好的性能,原因在于Nginx采用了多进程和I/O多路复用(epoll)的底层实现配置简单、扩展性强
Nginx的设计极具扩展性,它本身就是有很多模块组成,这些模块的使用完全可以通过配置文件的配置来添加。这些模块有官方提供的,也有第三方提供的。如果需要完全可以开发服务自己业务特性的定制模块高可靠性
Nginx采用的是多进程模式运行,其中一个master主进程和多个worker进程,worker进程的数量可以手动设置,每个worker进程之间都是相互独立的提供服务,并且master主进程可以在某个worker进程出错时,快速去拉起一个新的worker进程提供服务热部署
现在互联网项目都要求以7*24小时进行服务的提供,针对这一要求,Nginx也提供了热部署功能,既可以在Nginx不停止的情况下,对Nginx进行文件升级、更新配置和更换日志文件等过能成本低、BSD许可证
BSD是一个开源的许可证,世界上的开源许可证有很多,现在比较流行的有6种,分别是GPL、BSD、MIT、Mozilla、Apache、LGPL。
Nginx本身是开源的,因此不仅可以免费的将Nginx应用在商业领域,而且还可以在项目中直接修改Nginx的源码来定制自己的特殊需求。
本作品采用《CC 协议》,转载必须注明作者和本文链接