本文概述
- Apache
- Nginx
- Caddy
- Lighthttpd
- MonkeyServer
- OpenLiteSpeed
- Cherokee
不同的项目有不同的需求, 但是开源Web服务器部门或多或少地处于垄断地位。长期以来, Apache是??唯一的选择, 而处理高负载却是一个痛苦的事情。幸运的是, 时代已经改变, 针对特殊需求的新解决方案应运而生。
因此, 让我们看一下当今可用的一些最佳和最受欢迎的开源Web服务器。
Apache 它几乎是万维网的同义词, 并且仍然为全球大多数网站提供支持。
文章图片
Apache之所以占主导地位的原因有三点:开放的许可证, 早期进入(早在1995年就发布了该东西!)以及易于部署的PHP。最后一点通过mod_php模块成为可能, 这意味着安装Apache是??使用PHP开发所需的全部工作。
这就是使Apache出色的原因:
- 在所有平台上可用– Linux, Windows, MacOS和其他平台。
- 它是所有CPanel共享托管服务器的默认服务器, 因此轻松设置和更改网站。
- 通过大量模块提供的大量功能。无论你的需求有多晦涩, Apache肯定都会有一个现有模块。
- 通过.htaccess文件按目录进行配置。
- 支持HTTP / 2, 压缩, 静态文件和负载平衡。
- MPM和FastCGI模式可提供高并发性。
- 通过Lua轻松编写脚本。
简而言之, 是的。曾经有一段时间, Nginx(我们将在下文中介绍)由于其高性能而脱颖而出, 但是Apache在其2.2版本之后迎头赶上。就是说, 与所有早期进入者一样, Nginx引起了很多关注, 因此你可能会遇到对其功能的一些(无效)批评。
Nginx 如果你想从” kool-aid” 喷泉中喝酒(或者为了保持政治上的正确性, 请遵循” 最新” 发展趋势), 那么你可能听说过Nginx(发音为” engine-x” , 这就是主意)名称后面)。它是由一名俄罗斯工程师在2002年作为项目发布的, 他对当时的解决方案无法解决CK10问题(基本上是处理数千个并发连接)感到厌倦。
文章图片
当Nginx出现时, 它引起了极大的轰动, 以至于人们只是离开了Apache, 再也没有回头。趋势一直持续到今天。虽然Apache可以说是今天的平均水平, 但是Nginx提供了一些惊人的改进来帮助它获得成功。
- 用于处理高负载的异步架构
- 一流的静态文件处理, 负载平衡和反向代理功能。
- FastCGI缓存
- 通过缓存支持uwsgi, SCGI和其他服务器协议。
- 带有FLV和MKV流的压缩, 图像转换, 字节范围, 分块响应等。
- WebSocket, 保持连接和管道连接
- 访问控制, 错误重定向等
Nginx适合你吗?
如果你喜欢按自己的喜好构建Web应用程序, 那么Nginx是一个不错的选择。除了使用Nginx直接为静态文件提供多种优化服务之外, 你还可以设计具有强大的缓存, 代理和负载平衡功能的复杂的分布式系统。
而且, 是的-Nginx已准备好HTTP / 2。
有兴趣学习Nginx吗?查看此基础课程。
Caddy Caddy是最近在开源社区引起轰动的最热门的新框架之一。
可以将Caddy视为类似NginxWeb服务器(语法相似, 并且所有功能类似), 但一切都简化到了令人愉悦的极限。例如, 仅需三行配置, 就可以为SSL进行Let’ s Encrypt集成。
文章图片
这就是Caddy吸引大量关注的原因:
- 默认情况下启用HTTPS。是的, 你无需执行任何安装或更新SSL证书的操作。
- HTTP / 2成为主要焦点。
- 默认情况下旋转TLS会话票证密钥。这使得TLS连接管理更加安全, 不会受到Heartbleed之类的攻击。
- 无依赖关系(它是Golang编译的二进制代码库, 不依赖于任何基础系统库)
- 默认情况下在当前目录中提供静态文件!
- 可嵌入-可用作其他程序中的库
如果你渴望简单性并被Apache和Nginx之类的笨拙配置所困扰, 那么Caddy将会像清新的微风一样。也就是说, 当你对默认设置满意时, 效果最佳。例如, 如果你想使用SSL提供程序, 则为静态文件设置一个单独的目录(几乎总是这样), 依此类推, 优势逐渐消失。
Lighthttpd 大多数现代Web服务器失败的一个方面是资源使用。 Lighthttpd旨在克服低内存和低CPU环境中的这些挑战。
文章图片
Lighthttpd建立在异步请求处理模型上, 因此实质上反映了Nginx工作方式。但是有一个问题-Lighthttpd在单个线程中工作, 因此, 如果你有一台性能更高的计算机, 它将忽略其他CPU内核。它还缺少Nginx高级功能, 例如SSL代理, HTTP / 2等。
是Lighthttpd吗?
Lighthttpd是一个功能强大的单线程Web服务器, 可以轻松地每秒处理数百个请求, 并且仍然可以轻松使用系统资源。除此之外, 与其他选择相比, 它没有太多其他选择。因此, 如果你不需要所有花哨的东西-并且确实非常在消耗机器资源, 那么Lighthttpd值得探索。
MonkeyServer 尽管名称奇特, Monkey Web服务器还是一个有趣的项目, 并将继续积极地进行开发和支持。
文章图片
MonkeyServer的主要吸引力在于对嵌入式平台的支持。你需要自己编译服务器, 但可以消除所有麻烦, 最终可以使用轻便, 快速的Web服务器。
- 主要针对Linux, 但MacOS也支持
- 完全支持基于ARM的处理器
- 在Android, Raspberry Pi和其他嵌入式平台上完美运行
- 最少的运行时间(100 KB, 无插件)
- 支持IPv6和TLS
- 与CGI和FastCGI一起使用
- 基本身份验证, 安全规则等
如果你想定位嵌入式设备, MonkeyServer几乎就是你所需要的。也就是说, 它在x86和x86-64架构上同样有效, 并且可以用于在功能强大的计算机上运行大规模应用程序。它拥有比其他替代Web服务器更活跃, 更活跃的社区, 因此, 如果你需要帮助, 就永远不会迷路。
OpenLiteSpeed OpenLiteSpeed是LiteSpeed Technologies提供的企业Web服务器的开放源代码版本。
文章图片
喜欢OpenLiteSpeed的原因很多:
- 与Apache的mod_rewrite兼容, 这意味着如果你有大量的现有Apache文件, 则迁移将非常轻松。
- Nginx事件驱动架构, 导致高吞吐量。
- 基于GUI的管理界面, 提供愉悦的配置体验。
- 用于PHP的本机SAPI, 可提高性能。
- 默认情况下, 会应用缓存和Google PageSpeedInsights优化。
OpenLiteSpeed对于基于WordPress的内容驱动网站非常有意义, 因为页面优化已经是服务器的一部分。由于可以针对PHP性能进行微调, 因此基于PHP的代码库和项目可以从中受益匪浅。
Cherokee Cherokee(Cherokee)项目是开发人员的个人追求, 已发展成为一个不错的Web服务器平台。尽管它没有像Nginx一样的尖端功能, 但它确实提供了一种替代主流Web服务器的简单, 有趣且高性能的选择。
文章图片
Cherokee的最大优势就是简单性-无需花费太多时间来配置服务器的命令行。打包了一个友好的基于Web的界面, 对于喜欢点按完成工作的点击方式的人来说, 这是一种乐趣。
文章图片
资料来源:Linode
尽管Cherokee人开发得不是很积极, 但对于大多数日常项目来说仍然是一个不错的选择。请检查一下!
总结
【7个适用于小型到大型站点的开源Web服务器】没有网络服务器, 生活将毫无意义, 而且值得庆幸的是, 我们现在有很多可供选择。你最喜欢的开源Web服务器是什么?如果你认为我错过了列表中的重要条目, 请在评论中让我知道, 我们将非常乐意添加! ????
推荐阅读
- telnet无法识别为内部或外部命令-已修复
- 如何在RHEL / CentOS 7中启动时自动启动服务()
- 如何在Ubuntu,CentOS上安装Node.js 11()
- Android开发之sqlite数据库的练习
- flutter之配置安卓环境的小坑 but Android SDK not found at this location.
- Android教程2020 - RecyclerView获取滑动距离
- Xamarin Android Activity全屏
- 关于Android开发中获取服务器上数据时报 nullpointexception 的可能原因和解决办法
- 《Android Studio实战 快速高效地构建Android应用》--Git入门