当前位置: 首页 > 科技观察

最受欢迎的前5个开源Web服务器

时间:2023-03-18 18:51:19 科技观察

的统计表明,超过80%的Web应用程序和网站使用开源Web服务器。在本文中,我们将介绍目前市场上最流行的5款开源Web服务器,并简要回顾它们的历史、技术特点和更多相关内容,以便您可以更轻松地自行部署这些流行的Web服务器。根据维基百科,Web服务器是“AcomputersystemthatprocessesrequestsviaHTTP”(通过HTTP处理请求的计算机系统)。该术语可以指代整个系统,也可以指代接收和管理HTTP请求的程序。在本文中,Web服务器是指为最终用户处理Web请求的程序。NGINX服务器IgorSysoev于2002年开始开发NGINX,并于2004年发布了第一个公共版本。NGINX的开发是为了解决C10K(C10K是如何处理10,000个并发连接的缩写)问题。目前,全球超过30%的网站都在使用它。Nginx是一个基于类BSD协议发布的轻量级Web服务器/反向代理服务器和电子邮件(IMAP/POP3)代理服务器。其特点是占用内存少,并发能力强。事实上,nginx的并发能力在同类web服务器中确实表现的更好。中国大陆使用nginx网站的用户包括:百度、京东、新浪、网易、腾讯、淘宝等。NGINX依靠异步事件驱动的架构帮助处理大量的并发会话,成为了由于其对资源的轻量级利用和自由扩展的能力而流行的Web服务器。NGINX是在BSD(BerkeleySoftwareDistribution)许可协议授权下发布的。它不仅可以部署为Web服务器,还可以部署为代理服务器或负载均衡器。您可以在NGINX社区站点上找到更多相关信息。NGINX特点:服务器Nginx作为负载均衡服务器:Nginx可以直接支持Rails和PHP程序对内对外服务,也可以支持对外作为HTTP代理服务器。Nginx是用C写的,在系统资源开销和CPU使用效率上都比Perlbal好很多。处理静态文件、索引文件和自动索引;打开文件描述符缓冲。无缓存反向代理加速,简单的负载均衡和容错。FastCGI,简单的负载均衡和容错。模块化结构。包括gzip、字节范围、分块响应和SSI过滤器等过滤器。如果单个页面上存在的多个SSI由FastCG或其他代理服务器处理,则此处理可以并行运行,而无需相互等待。支持SSL和TLSSNI。代码Nginx代码完全是用C从头开始??编写的,并且已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、MacOSX、AIX和MicrosoftWindows。Nginx有自己的函数库,除了zlib、PCRE和OpenSSL,标准模块只使用系统C库函数。此外,如果没有必要或考虑到潜在的授权冲突,也可以不使用这些第三方库。Proxyserver作为邮件代理服务器:Nginx也是一款非常优秀的邮件代理服务器(开发本产品的目的之一,最初就是作为邮件代理服务器开发的),Last.fm描述了成功的精彩使用体验。Nginx是一个安装非常简单,配置文件非常简洁(也可以支持perl语法),bug非常少的服务器。Nginx非常容易上手,即使运行几个月也几乎可以7*24不重启。您还可以在不中断服务的情况下升级软件版本。Lighttpd服务器Lighttpd是由德国人主导的开源网络服务器软件。其根本目的是为高性能网站提供安全、快速、兼容和灵活的网络服务器环境。具有内存开销极低、CPU占用率低、性能好、模块丰富等特点。Lighttpd以其低内存占用、低CPU负载和处理速度优化而独立于世界。它采用事件驱动架构优化大量并行连接,支持FastCGI、SCGI、Auth、Output-compression、URL-rewriting等功能。Lighttpd主要用于Catalyst和RubyonRails网络框架。您可以通过项目主页找到有关它的更多信息。ApacheApacheHTTPServer简称为Apache。它诞生于1995年,2015年2月20日迎来了它的20岁生日。全球超过52%的网站使用Apache,它是目前最流行的Web服务器。Apache,中文名:Apache,是Apache软件基金会的开源网络服务器,可以运行在大多数计算机操作系统上。由于其多平台性和安全性而被广泛使用,是最流行的网络服务器。软件之一。它通过简单的API将Perl/Python等解释器编译到服务器中,快速、可靠且可扩展。由Apache软件基金会开发。Apachehttpd通常运行在Linux上,也可以部署在OSX和Windows上。它的发布是在Apache许可证2.0版下获得许可的。Web服务器本身采用模块化架构,加载其他附加模块可以作为其附加功能。例如,加载mod_proxy模块可以添加服务器代理/网关功能,加载mod_proxy_balancer模块可以为所有支持的协议提供负载平衡。在v2.4中,Apache通过新的mod_http2模块支持HTTP/2。自1996年以来,ApacheHTTPServer一直是最流行的Web服务器,这与其强大的文档和软件项目集成支持密不可分,您可以在ApacheFoundation项目页面上找到它以获取更多信息。ApacheTomcatApache只支持静态网页,但是像php、cgi、jsp这样的动态网页需要Tomcat来处理。Tomcat是Apache软件基金会下的Jakarta项目开发的Servlet容器。根据SunMicrosystems提供的技术规范,它支持Servlet和JavaServerPage(JSP),并提供了一些作为Web服务器所独有的功能,如Tomcat管控平台、安全域管理和Tomcat阀等。由于Tomcat本身还包含一个HTTP服务器,它也可以看作是一个独立的Web服务器。但是,不应将Tomcat与ApacheWebServer混淆,ApacheWebServer是用C语言实现的HTTPWeb服务器;这两个HTTPWeb服务器没有捆绑在一起。ApacheTomcat包含一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。Apache、nginx、tomcat并称为Web服务三剑客,可见其应用之广泛。ApacheTomcat在ApacheLicenseVersion2.0下发布,通常用于运行Java应用程序。此外,它可以作为HTTP文档的普通服务器,通过Coyote的扩展为本地文件提供服务。可以在ApacheTomcat项目网站上找到更多详细信息。此外,ApacheTomcat还经常嵌入到其他开源Java应用服务器中,例如JBoss、Wildfly和Glassfish。Apache有多种产品可以支持SSL技术,支持多虚拟主机。Apache是一个基于进程的结构。进程比线程消耗更多的系统开销,不适合多处理器环境。因此,当一个Apache网站扩展时,通常是增加服务器或扩展集群节点,而不是增加处理器。到目前为止,Apache仍然是世界上使用最多的Web服务器,市场份额约为60%。许多世界著名的Yahoo!、W3Consortium、FinancialTimes等都是Apache的产品。它的成功在于其开源代码、开放的开发团队、支持跨平台应用(几乎可以在所有Unix、Windows、Linux系统平台上运行)和可移植性。Apache的诞生极具戏剧性。当NCSAWWWServer项目停止时,那些使用NCSAWWWServer的人开始为服务器交换他们的补丁,他们很快意识到需要一个论坛来管理这些补丁。就这样,ApacheGroup诞生了,后来这个小组又在NCSA的基础上创建了Apache。如果您打算选择Web服务器,毫无疑问Apache是您的最佳选择。Node.jsNNode.js是一个Javascript运行时环境(runtimeenvironment),发布于2009年5月,由RyanDahl开发,本质上封装了ChromeV8引擎。Node.js优化了一些特殊的用例,并提供了替代的API来让V8在非浏览器环境中运行得更好。V8引擎执行Javascript非常快,性能非常好。[1]Node.js是一个基于ChromeJavaScript运行时的平台,用于轻松构建快速响应和易于扩展的网络应用程序。Node.js采用事件驱动、非阻塞I/O模型,轻量高效,非常适合在分布式设备上运行数据密集型实时应用。与其他流行的Web服务器相比,Node.js的不同之处在于它是一个用于构建网络应用程序的跨平台运行时环境,并且具有能够异步I/O的事件驱动架构。这些设计选择优化了支持实时通信和网络游戏的应用程序的数据吞吐量和可扩展性。Node.js也突出了web开发堆栈的差异,Node.js清楚地显示为HTML、CSS或JavaScript堆栈的一部分,在这一点上与Apache或NGINX同时成为多个不同软件堆栈的一部分的想法是正好相反。Node.js是在混合许可下发布的,更多信息可以在项目网站上找到。在几年的时间里,Node.JS已经成长为一个成熟的开发平台,吸引了许多开发人员。使用Node.JS开发的大型高流量网站很多,开发者也可以用它来开发一些快速的移动端Web框架。除了Web应用程序,NodeJS还用于许多方面。NodeJS在其他方面开发的Top10惊人项目,这些项目涉及应用程序监控、媒体流、远程控制、桌面和移动应用程序等。、Apache、MySQL、PHP)或LEMP(Linux、NGINX、MySQL、PHP)配套堆栈。此外,您还可以根据自己的喜好更换搭配多种此类匹配栈。该支持栈通常提供一键安装支持或Linux上包管理器的安装支持。