2005 年 2 月 8 日,星期二

lighttpd 作为替代 Web 服务器的崛起

发布者:admin

在搭建生产系统时,对于 Ruby on Rails(Rails)的 Web 服务器需求,Apache 似乎一直是唯一可行的选择。当然,一直以来也有许多其他的选择,但除了我曾短暂尝试过 thttpd 之外,我从未真正对其他替代方案产生过浓厚的兴趣。直到我发现了 lighttpd

如果说 Apache 是 Web 服务器的瑞士军刀,而且是一把非常棒的瑞士军刀,那么 lighttpd 则更加轻量级和专注。它由一位非常活跃的首席开发者驱动(我以前在哪见过这种模式……),并且几乎包含了构建出色的 Rails 应用 Web 服务器所需的所有功能。

让我特别感兴趣的是其 强大的 FCGI 支持,其中包括一个内置的负载均衡器,可以让一个 lighttpd 进程作为入口点,连接到其后端的多个 FCGI 应用服务器。换句话说,您可以在不使用硬件负载均衡器、轮询 DNS 或在应用服务器本身运行 Web 服务器的情况下进行扩展。

今天我尝试了一个场景,一个 lighttpd 进程充当了连接四个不同应用服务器上 FCGI 进程的网关。它在添加新服务器到集群并快速上线方面的灵活性令人印象深刻。

很方便的是,Routes 将使 Rails 摆脱对 mod_rewrite 的依赖,并开放缓存框架,使其能够在没有复杂重写规则的情况下运行,这意味着它将可以与 lighttpd(以及其他 Web 服务器)协同工作。我正在尽我最大的努力,在我运行 Basecamp 和 Ta-da List 的实验中,让 Rails 对 lighttpd 友好,也让 lighttpd 对 Rails 友好。Jan Kneschke 已经做得非常出色,帮助进一步加强了这种集成。

因此,如果您正在寻找一种更简单的方式来扩展您的 Rails 应用,那么您可能已经开始关注 lighttpd 了。一旦早期采用者有时间让我们完全熟悉它,记录整个过程并调整软件,您肯定会更感兴趣。

TextDrive 的 Jason Hoffman 也在他的文章 Should I consider lighttpd? 中有一篇关于 lighttpd 的精彩博文。