个性化阅读
专注于IT技术分析

7个适用于小型到大型站点的开源Web服务器

本文概述

自第一台网络服务器发布以来, 我们已经走了很长一段路。现在有更多令人兴奋的选择。

不同的项目有不同的需求, 但是开源Web服务器部门或多或少地处于垄断地位。长期以来, Apache是​​唯一的选择, 而处理高负载却是一个痛苦的事情。幸运的是, 时代已经改变, 针对特殊需求的新解决方案应运而生。

因此, 让我们看一下当今可用的一些最佳和最受欢迎的开源Web服务器。

Apache

它几乎是万维网的同义词, 并且仍然为全球大多数网站提供支持。

7个适用于小型到大型站点的开源Web服务器2

Apache之所以占主导地位的原因有三点:开放的许可证, 早期进入(早在1995年就发布了该东西!)以及易于部署的PHP。最后一点通过mod_php模块成为可能, 这意味着安装Apache是​​使用PHP开发所需的全部工作。

这就是使Apache出色的原因:

  • 在所有平台上可用– Linux, Windows, MacOS和其他平台。
  • 它是所有CPanel共享托管服务器的默认服务器, 因此轻松设置和更改网站。
  • 通过大量模块提供的大量功能。无论你的需求有多晦涩, Apache肯定都会有一个现有模块。
  • 通过.htaccess文件按目录进行配置。
  • 支持HTTP / 2, 压缩, 静态文件和负载平衡。
  • MPM和FastCGI模式可提供高并发性。
  • 通过Lua轻松编写脚本。

是Apache吗?

简而言之, 是的。曾经有一段时间, Nginx(我们将在下文中介绍)由于其高性能而脱颖而出, 但是Apache在其2.2版本之后迎头赶上。就是说, 与所有早期进入者一样, Nginx引起了很多关注, 因此你可能会遇到对其功能的一些(无效)批评。

Nginx

如果你想从” kool-aid”喷泉中喝酒(或者为了保持政治上的正确性, 请遵循”最新”发展趋势), 那么你可能听说过Nginx(发音为” engine-x”, 这就是主意)名称后面)。它是由一名俄罗斯工程师在2002年作为项目发布的, 他对当时的解决方案无法解决CK10问题(基本上是处理数千个并发连接)感到厌倦。

7个适用于小型到大型站点的开源Web服务器4

当Nginx出现时, 它引起了极大的轰动, 以至于人们只是离开了Apache, 再也没有回头。趋势一直持续到今天。虽然Apache可以说是今天的平均水平, 但是Nginx提供了一些惊人的改进来帮助它获得成功。

  • 用于处理高负载的异步架构
  • 一流的静态文件处理, 负载平衡和反向代理功能。
  • FastCGI缓存
  • 通过缓存支持uwsgi, SCGI和其他服务器协议。
  • 带有FLV和MKV流的压缩, 图像转换, 字节范围, 分块响应等。
  • WebSocket, 保持连接和管道连接
  • 访问控制, 错误重定向等

总而言之, Nginx是一个强大的功能强大的平台, 拥有许多使其保持领先地位的功能。由于基础公司是一家可持续发展的公司, 因此可以为复杂项目提供付费支持和咨询, 这对某些人可能很有用。

Nginx适合你吗?

如果你喜欢按自己的喜好构建Web应用程序, 那么Nginx是一个不错的选择。除了使用Nginx直接为静态文件提供多种优化服务之外, 你还可以设计具有强大的缓存, 代理和负载平衡功能的复杂的分布式系统。

而且, 是的-Nginx已准备好HTTP / 2。

有兴趣学习Nginx吗?查看此基础课程。

Caddy

Caddy是最近在开源社区引起轰动的最热门的新框架之一。

可以将Caddy视为类似NginxWeb服务器(语法相似, 并且所有功能类似), 但一切都简化到了令人愉悦的极限。例如, 仅需三行配置, 就可以为SSL进行Let’s Encrypt集成。

7个适用于小型到大型站点的开源Web服务器6

这就是Caddy吸引大量关注的原因:

  • 默认情况下启用HTTPS。是的, 你无需执行任何安装或更新SSL证书的操作。
  • HTTP / 2成为主要焦点。
  • 默认情况下旋转TLS会话票证密钥。这使得TLS连接管理更加安全, 不会受到Heartbleed之类的攻击。
  • 无依赖关系(它是Golang编译的二进制代码库, 不依赖于任何基础系统库)
  • 默认情况下在当前目录中提供静态文件!
  • 可嵌入-可用作其他程序中的库

Caddy适合你吗?

如果你渴望简单性并被Apache和Nginx之类的笨拙配置所困扰, 那么Caddy将会像清新的微风一样。也就是说, 当你对默认设置满意时, 效果最佳。例如, 如果你想使用SSL提供程序, 则为静态文件设置一个单独的目录(几乎总是这样), 依此类推, 优势逐渐消失。

Lighthttpd

大多数现代Web服务器失败的一个方面是资源使用。 Lighthttpd旨在克服低内存和低CPU环境中的这些挑战。

7个适用于小型到大型站点的开源Web服务器8

Lighthttpd建立在异步请求处理模型上, 因此实质上反映了Nginx工作方式。但是有一个问题-Lighthttpd在单个线程中工作, 因此, 如果你有一台性能更高的计算机, 它将忽略其他CPU内核。它还缺少Nginx高级功能, 例如SSL代理, HTTP / 2等。

是Lighthttpd吗?

Lighthttpd是一个功能强大的单线程Web服务器, 可以轻松地每秒处理数百个请求, 并且仍然可以轻松使用系统资源。除此之外, 与其他选择相比, 它没有太多其他选择。因此, 如果你不需要所有花哨的东西-并且确实非常在消耗机器资源, 那么Lighthttpd值得探索。

MonkeyServer

尽管名称奇特, Monkey Web服务器还是一个有趣的项目, 并将继续积极地进行开发和支持。

7个适用于小型到大型站点的开源Web服务器10

MonkeyServer的主要吸引力在于对嵌入式平台的支持。你需要自己编译服务器, 但可以消除所有麻烦, 最终可以使用轻便, 快速的Web服务器。

  • 主要针对Linux, 但MacOS也支持
  • 完全支持基于ARM的处理器
  • 在Android, Raspberry Pi和其他嵌入式平台上完美运行
  • 最少的运行时间(100 KB, 无插件)
  • 支持IPv6和TLS
  • 与CGI和FastCGI一起使用
  • 基本身份验证, 安全规则等

MonkeyServer适合你吗?

如果你想定位嵌入式设备, MonkeyServer几乎就是你所需要的。也就是说, 它在x86和x86-64架构上同样有效, 并且可以用于在功能强大的计算机上运行大规模应用程序。它拥有比其他替代Web服务器更活跃, 更活跃的社区, 因此, 如果你需要帮助, 就永远不会迷路。

OpenLiteSpeed

OpenLiteSpeed是LiteSpeed Technologies提供的企业Web服务器的开放源代码版本。

7个适用于小型到大型站点的开源Web服务器12

喜欢OpenLiteSpeed的原因很多:

  • 与Apache的mod_rewrite兼容, 这意味着如果你有大量的现有Apache文件, 则迁移将非常轻松。
  • Nginx事件驱动架构, 导致高吞吐量。
  • 基于GUI的管理界面, 提供愉悦的配置体验。
  • 用于PHP的本机SAPI, 可提高性能。
  • 默认情况下, 会应用缓存和Google PageSpeedInsights优化。

OpenLiteSpeed适合你吗?

OpenLiteSpeed对于基于WordPress的内容驱动网站非常有意义, 因为页面优化已经是服务器的一部分。由于可以针对PHP性能进行微调, 因此基于PHP的代码库和项目可以从中受益匪浅。

Cherokee

Cherokee(Cherokee)项目是开发人员的个人追求, 已发展成为一个不错的Web服务器平台。尽管它没有像Nginx一样的尖端功能, 但它确实提供了一种替代主流Web服务器的简单, 有趣且高性能的选择。

7个适用于小型到大型站点的开源Web服务器14

Cherokee的最大优势就是简单性-无需花费太多时间来配置服务器的命令行。打包了一个友好的基于Web的界面, 对于喜欢点按完成工作的点击方式的人来说, 这是一种乐趣。

7个适用于小型到大型站点的开源Web服务器16

资料来源:Linode

尽管Cherokee人开发得不是很积极, 但对于大多数日常项目来说仍然是一个不错的选择。请检查一下!

总结

没有网络服务器, 生活将毫无意义, 而且值得庆幸的是, 我们现在有很多可供选择。你最喜欢的开源Web服务器是什么?如果你认为我错过了列表中的重要条目, 请在评论中让我知道, 我们将非常乐意添加! ????

赞(0)
未经允许不得转载:srcmini » 7个适用于小型到大型站点的开源Web服务器

评论 抢沙发

评论前必须登录!