统计数据显示,超过80%的web应用程序和网站都是使用的开源web服务器。在本文中,我们将介绍目前市场上最流行的5大开源web服务器,并简要回顾它们的历史,技术特性以及更多相关内容,方便你自己能够更加轻松的部署这些流行的web服务器。
根据维基百科介绍,web服务器是“通过HTTP协议处理web请求的计算机系统”(a computer system that processes requests via HTTP)。这个词可以指代整个系统,也可以指代可接收和管理HTTP请求的的程序。本文中介绍的web服务器指的是为终端用户处理web请求的程序。
Apache HTTP Server
Apache HTTP Server,我们常常称之为httpd,或者更简单的Apache。它诞生于1995年,并在2015年2月20日度过了其20岁的生日。全球超过52%的网站使用了Apache,它是目前最流行的web服务器。
Apache httpd通常运行在Linux上,也可以部署在OS X和Windows之上,它的发布得到Apache许可证 2.0 版的许可。该web服务器自身使用模块化架构,加载其它额外的模块可以作为其额外特性。比如,加载mod_proxy模块可以增加服务器代理/ 网关的功能,加载mod_proxy_balancer模块可以为所有支持的协议提供负载平衡。在v2.4版本里,Apache可通过全新的mod_http2模块支持HTTP/2。
从1996年开始,Apache HTTP Server就已经是最为流行的web服务器了,这与它拥有伟大的文档和软件项目集成支持的特性是分不开的,你可以在Apache基金会的项目页面上找到它的更多信息。
NGINX
Igor Sysoev从2002年开始开发NGINX,并在2004年发布了第一个公开版本。NGINX的开发是为了解决C10K(C10K是如何处理1万个并发连接的简写)问题,目前,它是第二流行的开源web服务器,全球有超过30%的网站在使用它。
NGINX依靠异步事件驱动架构来帮助其处理大量的并发会话,由于其对资源的轻量利用和伸缩自如的特性,它成为了广受欢迎的web服务器。
NGINX在类BSD(Berkeley Software Distribution)许可协议的授权下发布的,它不仅可作为web服务器进行部署,也可作为代理服务器或负载平衡器。你可以在NGINX社区网站找到它的更多信息。
Apache Tomcat
Apache Tomcat是一个可作为web服务器的开源Java servlet容器。Java servlet是可扩展服务器特性的Java程序,虽然servlets可以对任何类型的请求作出响应,但是它还是最常用于Web服务器上的应用实施。这些web servlet在Java上的作用与PHP和ASP.NET等其它动态web技术类似。Tomcat的代码库是由Sun Microsystems公司在1999年捐赠给Apache软件基金会的,并在2005年成为Apache的顶级项目,目前有不到1%的网站在使用它。
Apache Tomcat是在Apache许可证 2.0 版的授权下进行发布的,通常用于运行Java应用程序。此外,它能够通过Coyote的扩展,扮演为本地文件HTTP文档服务的普通服务器的角色。更多详细的信息可以查看Apache Tomcat项目网站。
另外,Apache Tomcat还经常内嵌在其它开源Java应用服务器中,如JBoss, Wildfly和Glassfish。
Node.js
Node.js是一个用于web服务器等网络应用的服务器端JavaScript环境。由于其较小的市场定位,在所有网站中只有0.2%使用Node.js。Node.js最初是由Ryan Dahl在2009年编写的,现在Node.js项目由Node.js基金会进行管理,并在Linux基金会的合作项目计划下快速发展。
相比起其它流行的web服务器,Node.js的不同之处在于它是一个构建网络应用的跨平台运行环境,拥有可胜任异步I/0的事件驱动构架。这些设计选择能够优化应用程序的数据吞吐量和可伸缩性,支持实时通信和网页游戏。 Node.js 还强调了web开发堆栈上的差异,Node.js清楚地显示作为HTML、 CSS或者JavaScript堆栈的一部分,在这一点上与Apache或者NGINX同时作为多个不同软件堆栈的一部分的理念正好是相反的。
Node.js是在混合授权协议下发布的,更多信息可以查看该项目网站。
Lighttpd
Lighttpd,于2003年3月首次发布,目前全球有大约0.1%的网站在使用它,它是在BSD的许可协议下发布的。
Lighttpd以其低内存占用,低CPU负载和处理速度的优化而独立于世,它使用事件驱动架构,对大量并行连接进行优化,支持FastCGI, SCGI, Auth,Output-compression, URL-rewriting等多种功能。Lighttpd主要用于Catalyst和Ruby on Rails的web框架。通过项目主页,你可以找到它的更多信息。
小贴士
如果你正在寻找一个流行的web服务器,我强烈建议你下载 LAMP(Linux, Apache, MySQL, PHP)或者LEMP(Linux, NGINX, MySQL, PHP)配套堆栈。此外,还可以根据根据你自己的不同喜好,更换搭配多种这样的配套堆栈。这种配套堆栈通常都提供了一键安装支持或者Linux上的软件包管理器的安装支持。
本文翻译自opensource.com
相关推荐
【JerryMouse:模仿Tomcat的国产开源Web服务器】 JerryMouse是一个基于Java开发的国产开源Web服务器,它的设计灵感来源于知名的Apache Tomcat服务器。Tomcat作为Java Servlet和JavaServer Pages(JSP)技术的标准...
在Web服务器日志分析方面,有很多免费开源的工具可以选择,本文将介绍五大流行的Web服务器开源日志分析工具,并对其进行比较和分析。 AWStats AWStats是一个功能强大且流行的Web服务器日志分析工具,它可以很好地...
开源Web Office源码是开发基于Web的文档处理应用的核心组件,尤其对于那些希望构建自定义办公解决方案的企业或开发者而言,这是一个宝贵的资源。标题中的“开源”意味着这些源代码是公开的,允许用户自由查看、使用...
Apache Web服务器是世界上最广泛使用的HTTP服务器之一,它为各种规模的企业和组织提供了稳定且高效的Web服务。为了确保其性能最佳,监控Apache服务器的状态至关重要。本文将深入探讨三个主流的开源工具,它们可以...
关于淘宝构架 开源框架,数据采集,服务器部署等工作
【c++开源软件】表示这个web服务器的源代码是使用C++语言编写的,并且遵循开源协议。这意味着任何人都可以查看、学习、使用、分发甚至修改这些源代码,这为开发者提供了透明度和灵活性,有助于社区的协作和创新。 ...
1. Apache:Apache HTTP Server是最流行的开源Web服务器,支持多种操作系统,具有强大的功能和高度可定制性。 2. Nginx:Nginx以其高效的反向代理、负载均衡和缓存功能而闻名,特别适合高流量网站。 3. Microsoft ...
Java开源邮件服务器Apache James是基于Java技术构建的一款强大的邮件服务器软件。它的源代码开放,允许开发者深入了解其工作原理,并可根据需求进行定制化开发。Apache James 2.3.2是该项目的某个稳定版本,提供了...
iRedMail 开源电子邮件服务器详解 iRedMail 是一款专为 Linux 和 BSD 操作系统设计的免费、开源的电子邮件服务器解决方案。它以其易部署、功能全面和稳定性强的特点,深受企业和个人用户的喜爱。这款软件遵循 GPL...
Apache Web服务器是全球最受欢迎的HTTP服务器软件,以其开源、免费、稳定性和高度可扩展性而闻名。这个服务器软件被广泛应用于各种操作系统上,包括Windows、Linux以及Unix等平台,为无数网站提供了基石。 Apache的...
Spring框架是目前最流行的Java企业级应用框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)架构模式等功能,极大地简化了Web应用的开发。Struts则是一个用于构建MVC架构的Java框架,它简化了页面...
Mail Web开源版正是利用这一特性,使得用户只需打开网页,就能完成邮件的收发,极大地提升了用户体验。 Mail Web开源版的核心在于其对邮件协议的支持。它能够无缝对接IMAP(Internet Message Access Protocol)和...
总的来说,PHP开源Web邮件系统是一个强大而灵活的工具,它不仅提供了基本的邮件服务,还具备了丰富的功能和高度的定制性,为用户和开发者带来了极大的便利。无论是希望搭建自己的邮件服务器,还是寻求一个可定制的...
i-jetty是一个Google的开源项目Jetty for Android,即开源Android web服务器。据了解:android平台上搭建web服务器,html、javascript、css和servlet 可以正常访问,但 jsp提示 “jsp support not configured”。
【Java开源Web项目3详解】 Java作为一门广泛应用于企业级应用开发的语言,其在Web开发领域有着深厚的根基。开源Web项目3是基于Java技术栈构建的,它利用了Java的强大功能和灵活性,为开发者提供了丰富的工具和框架...
在本文中,我们将探讨如何利用STM32F407微控制器和LWIP(Lightweight IP)库来搭建一个简单的Web服务器,并通过LAN9303以太网控制器连接网络。 首先,LWIP是一个开源、轻量级的TCP/IP协议栈,适用于资源有限的...
Apache是最流行的Web服务器软件之一,它免费、开源且高度可定制。Apache提供了强大的功能,如虚拟主机、模块化设计、URL重写和安全设置等。配置Apache服务器通常涉及到修改其配置文件,如httpd.conf,这包含了服务器...
【开源Weberp PHP+MySQL】是一个基于Web的开源企业资源计划系统(ERP),它采用PHP编程语言和MySQL数据库管理系统构建。这个系统旨在为小型到中型企业提供全面的财务管理、库存控制、销售订单管理、采购订单处理以及...
1. **Apache HTTP Server**:开源且跨平台,Apache是最广泛使用的Web服务器之一。它支持多种操作系统,包括Windows、Linux和Unix。Apache以其灵活性、稳定性和强大的模块系统而闻名,允许用户根据需要添加各种功能。...