6个适用于小型到大型网站的开源Web服务器
我们已经走过了很长的路,自从第一个Web服务器发布以来。现在有更多令人兴奋的选择。
不同的项目有不同的需求,但开源Web服务器部门基本上是垄断的。很长一段时间以来,Apache是唯一的选择,处理高负载非常麻烦。幸运的是,时代已经改变,出现了满足特定需求的新解决方案。
现在让我们来看一些最好和最受欢迎的开源Web服务器。
Apache
它几乎可以说是万维网的代名词,仍然是世界上大多数网站的动力源。
Apache占主导地位的原因有三个:开放许可证、早期进入(这个东西早在1995年就发布了!)和易于部署PHP。最后一点是通过mod_php
模块实现的,这意味着安装Apache就足够了,可以用它来开发PHP。
以下是使Apache成为伟大的原因:
- 适用于所有平台- Linux、Windows、MacOS和其他平台。
- 它是所有CPanel共享主机的默认服务器,使设置和更改站点变得轻松。
- 通过大量的modules提供了大量的功能。无论你的需求有多么模糊,Apache都有现成的模块。
- 通过
.htaccess
文件进行按目录配置。 - 支持HTTP/2、压缩、静态文件和负载平衡。
- MPM和FastCGI模式可以提供高并发性能。
- 通过Lua实现简单的脚本。
Apache适合你吗?
简而言之,是的。曾经有一段时间,Nginx(接下来我们将考虑)因其高性能而起飞,但Apache在其2.2版本发布后迎头赶上。也就是说,像所有早期参与者一样,Nginx夺走了很多关注,所以你可能会遇到一些(无效的)对其能力的批评。
Nginx
如果你喜欢从“kool-aid”喷泉(或者政治正确地说,关注“最新”发展),那么你可能听说过Nginx(发音类似于“engine-x”,这是名称的设计理念)。它是由一位俄罗斯工程师于2002年发布的一个项目,他对当时存在的解决方案无法解决链接问题(基本上是处理数千个并发连接)感到厌烦。
Nginx一经推出,就引起了轰动,人们甚至放弃了Apache,再也没有回头看过去。这个趋势至今仍在继续。虽然Apache在今天可以说是与Nginx不相上下,但Nginx提供了一些令人惊叹的改进,帮助它取得胜利。
- 异步架构用于处理高负载
- 最佳的静态文件处理、负载均衡和反向代理能力。
- FastCGI缓存
- 支持uwsgi、SCGI和其他服务器协议,带有缓存。
- Gzipping、图像转换、字节范围、分块响应等,支持FLV和MKV流媒体。
- WebSockets、保持活动和管线化连接
- 访问控制、错误重定向等。
总的来说,Nginx是一个功能强大的工具,拥有一系列功能,让它保持在前沿。由于其背后的公司是一个可持续发展的企业,对于复杂项目可以提供付费支持和咨询服务,这对一些人可能很有用。
Nginx适合你吗?
如果你喜欢按照自己的意愿设计Web应用程序,那么Nginx是一个巨大的加分项。您可以使用Nginx设计复杂的分布式系统,具有强大的缓存、代理和负载均衡功能,此外还可以直接使用Nginx提供多种优化来提供静态文件。
有兴趣学习Nginx吗?请查看这个fundamental course。
Caddy
最近在开源社区中引起轰动的最热门的新框架之一是Caddy。
把Caddy当作一个类似Nginx的Web服务器(语法和所有内容都类似),但是简化到了极致。例如,只需要三行配置就可以完成Let's Encrypt集成的SSL。
以下是Caddy引起大量关注的原因:
- 默认启用HTTPS。是的,你无需做任何事情就可以安装或更新SSL certificates。
- 主要关注HTTP/2。
- 默认旋转TLS会话票据密钥。这使得TLS连接管理更加安全,不容易受到Heartbleed等漏洞的影响。
- 没有依赖(它是一个Golang编译的二进制代码库,不依赖于任何底层系统库)
- 默认在当前目录中提供静态文件!
- 可嵌入 – 可以作为其他程序的库使用
Caddy适合你吗?
如果你渴望简单,并对Apache和Nginx等服务器的复杂配置感到困惑,那么Caddy就像一阵清新的微风。但是需要注意的是,当你满意默认设置时,它才能发挥最佳效果。例如,如果你想使用自己的SSL提供商,为静态文件拥有单独的目录(这几乎是常见情况),等等,那么其优势就会减弱。
你可以获得每月低至4美元的虚拟机。
Lighthttpd
大多数现代Web服务器失败的一个领域是资源使用。Lighthttpd旨在解决低内存和低CPU环境下的这些挑战。
Lighthttpd基于异步请求处理模型构建,因此基本上与Nginx的工作方式相似。但有一个限制 – Lighthttpd在单个线程中工作,因此如果你拥有一台更强大的机器,它将忽略其他CPU核心。它也缺乏Nginx的更高级功能,如SSL代理,HTTP/2等。
Lighthttpd适合你吗?
Lighthttpd是一个功能强大的单线程Web服务器,可以轻松处理每秒几百个请求,并且对系统资源要求较低。除此之外,与其他替代方案相比,它没有太多可提供的。因此,如果你不需要所有的高级功能,并且真的非常非常需要机器资源,那么值得探索Lighthttpd。
OpenLiteSpeed
OpenLiteSpeed是LiteSpeed Technologies提供的企业级Web服务器的开源版本。
有许多原因值得喜欢OpenLiteSpeed:
- 与Apache的
mod_rewrite
兼容,这意味着如果你有大量现有的Apache文件,迁移将最小化痛苦。 - 采用与Nginx类似的事件驱动架构,具有高吞吐量。
- 基于GUI的管理界面,提供愉快的配置体验。
- 为PHP提供本地SAPI,从而提高性能。
- 默认应用缓存和Google PageSpeedInsights优化。
OpenLiteSpeed适合你吗?
对于基于WordPress的内容驱动型网站来说,OpenLiteSpeed非常合适,因为页面优化已经成为服务器的一部分。由于它针对PHP性能进行了优化,因此基于PHP的代码库和项目可以获得巨大的好处。
Cherokee
Cherokee项目是一个开发者的个人需求,现已发展成为一个体面的Web服务器平台。虽然它没有Nginx的尖端功能,但它提供了一种简单、有趣和高效的替代方案。
对于Cherokee来说,最大的优势是简单性 – 配置服务器无需费力气。一个友好的基于Web的界面已经打包好了,对于那些喜欢点一点鼠标完成工作的人来说,这是一种愉快的使用方式。
尽管Cherokee的开发不是很活跃,但对于大多数日常项目来说,它仍然是一个不错的选择。一定要试试看!
结论
没有Web服务器,生活将毫无意义,幸运的是,现在我们有很多选择。你最喜欢的开源Web服务器是什么?如果你认为我在名单中漏掉了一个重要的条目,请在评论中告诉我,我将非常乐意添加!🙂