十多年来,Apache 一直是事实上的标准 Web 服务器,但近年来为我们带来了消耗更少 RAM 并使用更少线程和异步 I/O 每秒处理更多请求的 Web 服务器。在我看来,我还发现这些服务器的配置更加直接和最小化。
当异步服务器如此轻量级时,为什么人们使用 Apache?有什么明显的好处吗?
无处不在,“足够好”和熟悉。
Apache 的 .htaccess 提供了灵活的配置。这允许共享主机上的用户自定义 apache 的某些设置,而无需更改核心 apache 配置。
它是典型 LAMP 设置中捆绑的标准服务器,尽管许多服务使用其他 Web 服务器来结合(如静态文件、视频流等)。
由于 Apache 很受欢迎,因此很容易找到任何问题的解决方案。
除此之外,其他解决方案可能会更好。
如果您希望它与 Event MPM 一起使用,则Apache是异步的。不像 Nginx 和 Cherokee 等,它不是默认的。
Apache 在 2.4 中采取了一些重要举措,因此它可以更具竞争力——尤其是。因为它与使用 Event MPM 服务静态请求有关。各种基准都不能很好地说明这一点,但是:
很难确定 Apache 在 2.4 中的速度有多慢,因为 Apache 的“开箱即用”配置不利于性能,而且遗留问题在某些方面阻碍了它。例如,.htaccess 需要在每个请求上统计/读取大量文件,其中可能包括许多规则和正则表达式。Nginx 没有这个问题,Cherokee 也没有。Litespeed 具有 Apache 风格的 .htaccess 支持,但前提是您需要付费。大多数基准测试不会关闭这些功能。
大多数基准测试也很荒谬,因为它们是在本地运行并通过 GbE 网络或类似网络运行的。真正的网络服务器必须能够很好地应对各种速度,包括 3G 手机。可能是 Apache 在现实世界中的性能更好。
我对此表示怀疑。
Nginx 仍然更快,我可能会选择它,但 Apache 并没有睡着。