常见WEB服务器介绍


目录:

常见WEB服务器介绍

  • Apache
  • Microsoft IIS
  • NCSA
  • nginx
  • Google
  • Sun
  • tomcat
  • lighttpd

Apache

Apache web 服务器在各种开源的www服务提供工具中特性最安全,并且运行速度快、性能相对稳定、而且扩展功能丰富

不可否认,Apache web服务器是当今web服务器市场中的领军产品,但是在使用过程中,它依然存在不足。如性能方面,Apache在设计是使用了以"进程"为基础的结果,众所周知,进程要比线程消耗更多的系统开支,这导致Apache在多处理环境中性能有所下降。因此,在对一个Apach web 站点进行扩容时,通常是增加服务器或者扩充集群节点而不是增加处理器

Microsoft IIS

IIS是Microsoft公司的web服务器产品,IIS,是Internet Information Service的缩写,IIS的官方地址:http://www.iis.net

IIS和Windows server相结合,使其在网络应用服务器的管理、可用性、可靠性、安全性、性能与扩展性等方面大为增强了。

作为同一家公司的产品,IIS和Windows server组合可以提供可靠、高效、完整的网络服务器解决方案。当然。作为付费软件,IIS部署成本高的缺点也是显而易见的

tomcat

tomcat,在英文中是"公猫或者其他雄性猫科动物"。tomcat服务器最初由Sun公司的软件架构师詹姆斯·邓肯·戴维森开发的,后来变成开源项目,并有Sun公司将其贡献给了Apache软件基金会。

tomcat是Sun公司官方推荐的servletjsp容器,在中小型系统和并发访问用户不是很多的场合下,其作为轻量级应用服务器,被广泛的使用。它是开发和调试jsp程序的首选

在一般的应用中,tomcat常作为Apache的扩展部分,为运行JSP页面的servlet提供服务,独立的servlet容器是tomcat的默认模式。

事实上,tomcat和IIS、Apache等web服务器一样,具有处理HTML页面的功能,只是它处理静态HTML的能力不如Apache服务器

tomcat服务器作为轻量级的服务软件,无法满足复杂业务场景的要求,也没有复杂和丰富的功能,但是tomcat是开源的,且体积小,安装和部署都很方便,系统资源占用低,是主要的servlet和JSP容器,在这方面它比大多数的商业应用软件服务器要好。

lighttpd

lighttpd的官方网站http://www.lighttpd.net

lighttpd服务器来自德国的一个开源轻量级web服务器软件,它在2004年左右开始取得高速发展,lighttpd,是light和httpd的结合,读音同lighty

lighttpd的急速发展得益于它专门针对高性能网站,提供了一套安全、快捷、兼容性良好并灵活的web server环境。同时,它具有非常低的内存开销、CPU占用率低一级模块丰富等特点,支持fastcgi、output compress(输出压缩)、URL重写等Apache具有的重要功能,是Apache的绝对替代者。

作为轻量级服务器,lighttpd与Apache等大型web服务器软件相比,其在功能上存在不足和部分缺陷,比如proxy功能不完善、对编码支持不完善等特点

Nginx和OpenResty

https://blog.51cto.com/xikder/2331336

https://blog.51cto.com/xikder/2331368

https://blog.51cto.com/xikder/2331504

首先,来认识一下OpenResty,它是一个基于Nginx和Lua开发的高性能的Web平台,包含大量成熟的第三方库,可快速搭建出高性能的Web服务器,支持常用的反向代理、网关系统、Web应用等。

如果在Nginx上使用Ngx_lua,需要先进行编译;而OpenResty已经包含此模块,不需要再进行编译了。读者可以自由选择使用Nginx或OpenResty来搭建服务,如果无法抉择,可参考如下场景。

使用Nginx编译Ngx_Lua的场景

HTTP代理服务器:复杂度较小,只需部分组件即可,且代理服务器一般由运维人员进行维护。使用Nginx的稳定版进行编译,在性能方面会更有保障,而OpenResty是Nginx的主线版,可能会不定期更新。

OpenResty的使用场景

  • API服务:业务需求多,需要大量组件。
  • 网关系统:需要大量组件和指令来实现动态组件功能。
  • Web应用服务器:业务服务、页面服务等,如详情页业务的开发。
  • 使用Nginx编写的Lua代码都可以直接迁移到OpenResty上;反之却不一定可行,毕竟OpenResty的组件更多。

image-20221222161606234