五大开源的Web服务器是什么

55次阅读
没有评论

共计 4018 个字符,预计需要花费 11 分钟才能阅读完成。

这篇文章主要讲解了“五大开源的 Web 服务器是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“五大开源的 Web 服务器是什么”吧!

NGINX 服务器

Igor Sysoev 从 2002 年开始开发 NGINX,并在 2004 年发布了第一个公开版本。NGINX 的开发是为了解决 C10K(C10K 是如何处理 1 万个并发连接的简写)问题,目前,全球有超过 30% 的网站在使用它。

Nginx 是一款轻量级的 Web 服务器 / 反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个 BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

NGINX 依靠异步事件驱动架构来帮助其处理大量的并发会话,由于其对资源的轻量利用和伸缩自如的特性,它成为了广受欢迎的 web 服务器。

NGINX 在类 BSD(Berkeley Software Distribution)许可协议的授权下发布的,它不仅可作为 web 服务器进行部署,也可作为代理服务器或负载平衡器。你可以在 NGINX 社区网站找到它的更多信息。

NGINX 的特点:

服务器

Nginx 作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务,也可以支持作为 HTTP 代理服务器对外进行服务。Nginx 采用 C 进行编写,不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好很多。

处理静态文件,索引文件以及自动索引; 打开文件描述符缓冲。

无缓存的反向代理加速,简单的负载均衡和容错。

FastCGI,简单的负载均衡和容错。

模块化的结构。包括 gzipping, byte ranges, chunked responses, 以及 SSI-filter 等 filter。如果由 FastCG 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。

支持 SSL 和 TLSSNI。

代码

Nginx 代码完全用 C 语言从头写成,已经移植到许多体系结构和操作系统,包括:Linux、FreeBSD、Solaris、Mac OS X、AIX 以及 Microsoft Windows。Nginx 有自己的函数库,并且除了 zlib、PCRE 和 OpenSSL 之外,标准模块只使用系统 C 库函数。而且,如果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库。

代理服务器

作为邮件代理服务器:Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持 perl 语法)、Bug 非常少的服务器。Nginx 启动特别容易,并且几乎可以做到 7 *24 不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

Lighttpd 服务器

Lighttpd 是一个德国人领导的开源 Web 服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的 web server 环境。具有非常低的内存开销、cpu 占用率低、效能好以及丰富的模块等特点。

Lighttpd 以其低内存占用,低 CPU 负载和处理速度的优化而独立于世,它使用事件驱动架构,对大量并行连接进行优化,支持 FastCGI, SCGI, Auth,Output-compression, URL-rewriting 等多种功能。Lighttpd 主要用于 Catalyst 和 Ruby on Rails 的 web 框架。通过项目主页,你可以找到它的更多信息。

Apache

Apache HTTP Server 简称为 Apache。它诞生于 1995 年,并在 2015 年 2 月 20 日度过了其 20 岁的生日。全球超过 52% 的网站使用了 Apache,它是目前最流行的 web 服务器。

Apache, 中文名:阿帕奇,是 Apache 软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编译到服务器中。开发者 Apache 软件基金会。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 基金会的项目页面上找到它的更多信息。

Apache Tomcat

Apache 只支持静态网页,但像 php,cgi,jsp 等动态网页就需要 Tomcat 来处理。Tomcat 是由 Apache 软件基金会下属的 Jakarta 项目开发的一个 Servlet 容器,按照 Sun Microsystems 提供的技术规范,实现了对 Servlet 和 JavaServer Page(JSP)的支持,并提供了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平台、安全域管理和 Tomcat 阀等。由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache Web 服务器混淆,Apache Web Server 是一个用 C 语言实现的 HTTP web server;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。Apache,nginx,tomcat 并称为网页服务三剑客,可见其应用度之广泛。

Apache Tomcat 是在 Apache 许可证 2.0 版的授权下进行发布的,通常用于运行 Java 应用程序。此外,它能够通过 Coyote 的扩展,扮演为本地文件 HTTP 文档服务的普通服务器的角色。更多详细的信息可以查看 Apache Tomcat 项目网站。

另外,Apache Tomcat 还经常内嵌在其它开源 Java 应用服务器中,如 JBoss, Wildfly 和 Glassfish。

Apache 有多种产品,可以支持 SSL 技术,支持多个虚拟主机。Apache 是以进程为基础的结构,进程要比线程消耗更多的系统开销,不太适合于多处理器环境,因此,在一个 Apache Web 站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止 Apache 仍然是世界上用的最多的 Web 服务器,市场占有率达 60% 左右。世界上很多著名的 Yahoo!、W3 Consortium、Financial Times 等都是 Apache 的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的 Unix、Windows、Linux 系统平台上)以及它的可移植性等方面。

Apache 的诞生极富有戏剧性。当 NCSA WWW 服务器项目停顿后,那些使用 NCSA WWW 服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了 Apache Group,后来这个团体在 NCSA 的基础上创建了 Apache。如果你准备选择 Web 服务器,毫无疑问 Apache 是你的最佳选择。

Node.js

NNode.js 是一个 Javascript 运行环境 (runtime environment),发布于 2009 年 5 月,由 Ryan Dahl 开发,实质是对 Chrome V8 引擎进行了封装。Node.js 对一些特殊用例进行优化,提供替代的 API,使得 V8 在非浏览器环境下运行得更好。

V8 引擎执行 Javascript 的速度非常快,性能非常好。[1] Node.js 是一个基于 Chrome JavaScript 运行时建立的平台,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动,非阻塞 I /O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

相比起其它流行的 web 服务器,Node.js 的不同之处在于它是一个构建网络应用的跨平台运行环境,拥有可胜任异步 I / 0 的事件驱动构架。这些设计选择能够优化应用程序的数据吞吐量和可伸缩性,支持实时通信和网页游戏。 Node.js 还强调了 web 开发堆栈上的差异,Node.js 清楚地显示作为 HTML、CSS 或者 JavaScript 堆栈的一部分,在这一点上与 Apache 或者 NGINX 同时作为多个不同软件堆栈的一部分的理念正好是相反的。

Node.js 是在混合授权协议下发布的,更多信息可以查看该项目网站。

在几年的时间里,Node.JS 逐渐发展成一个成熟的开发平台,吸引了许多开发者。有许多大型高流量网站都采用 Node.JS 进行开发,此外,开发人员还可以使用它来开发一些快速移动 Web 框架。

除了 Web 应用外,NodeJS 也被应用在许多方面,NodeJS 在其它方面所开发的十大令人神奇的项目,这些项目涉及到应用程序监控、媒体流、远程控制、桌面和移动应用等等。

感谢各位的阅读,以上就是“五大开源的 Web 服务器是什么”的内容了,经过本文的学习后,相信大家对五大开源的 Web 服务器是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-03发表,共计4018字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)