【问题标题】:Do you know any reason to use Apache instead of Nginx? [closed]你知道使用 Apache 而不是 Nginx 的任何理由吗? [关闭]
【发布时间】:2013-01-05 17:09:06
【问题描述】:

您知道使用 Apache 代替 Nginx 的任何理由吗?我说的是一个没有任何遗留代码或配置的“新项目”。

更新:

使用 Apache 的最普遍原因是:

  • 我们有我们的重写配置
  • 我们有我们的应用程序,在 Apache 上工作

.. 旧版应用程序没问题。但是绝对“新应用 2013”​​呢?

你怎么看?

顺便说一句,我知道主题:

..我在那里找不到任何 Apache 的专业人士。你能指点我吗?

【问题讨论】:

  • 你能把你的问题说得更具体一些吗?通常不鼓励这类问题。有关可接受问题的详细信息,请参阅 SO FAQ:stackoverflow.com/faq#questions
  • 这个问题本质上是非常普遍和深入的理论问题。你可以再详细一点吗?好像你知道一些利弊。你呢?
  • 阅读常见问题解答,其他人(不是我)对您的问题投了反对票这一事实证实了另一个人同意我的 cmets。如果您在 Google 上搜索“Apache vs. Nginx”,您可以找到答案,并使用 SO 来解决有关细节的问题。这就是 SO 的真正目的。
  • 谢谢!好点子!我会尝试更新问题。
  • 我切换到 nginx 并且没有回头。可靠性、速度、直观的配置等......

标签: apache nginx webserver


【解决方案1】:

Apache 仍然是 Internet 上最受欢迎的 Web 服务器,estimated 为现有网站的 55% 提供服务,而 nginx 为 12%(2013 年 1 月)。

更新(2015 年 4 月): Apache 仍占有最大份额,约为 40%,而 nginx 已增长到 15%。查看上述链接以获取最新数据。

更新(2020 年 7 月): nginx 的受欢迎程度以 37% 和 25% 轻松超过 Apache。 Apache 的搜索量仍然更高。

它是最古老的网络服务器,这意味着您可以轻松找到熟练配置它的人。

在搜索网络时,您也更有可能找到帮助。 SO 有大约 80,000 个标签用于 Apache,大约 40,000 个用于 nginx。

安装文档有时假设您使用的是 Apache,通常包括 .htaccess 文档,但不包括等效的 nginx 配置:

我的建议?两者都是非常好的选择,如果您无法找到任何令人信服的理由,请掷硬币。

【讨论】:

  • 感谢您的回答!您知道任何技术原因吗?
  • 我不同意您关于“易于使用和维护”不是技术原因的说法。
  • 老实说,如果您想尝试 nginx,请在您正在构建的下一个小项目中尝试一下。大型项目通常是当您想要坚持您已经了解和理解的技术时 - 您不需要学习全新技术的额外开销。
  • 古斯塔夫,你是对的!但我的意思是:nginx的FastCGI模块没有这样的关键特性..
  • 据我所知,nginx 没有缺失的关键特性。
【解决方案2】:

这里是 2018 年 2 月的回复。

Apache 为 47.4%(-3.3% 1 年),Nginx 为 36.8%(+4.4% 1 年)

趋势是线性的,到 2020 年如果不出意外,Nginx 将是使用最多的。

Nginx 是为支持大量并发请求而设计的,现代应用程序通常会这样做,例如小型 Ajax 请求和较少的整页加载。

我已经在每秒请求数和 RAM 使用率方面看到了 Benchmarks(针对静态资源)和 Nginx MURDERS Apache。

我在一小时前就意识到了这一切,我已经使用 apache 很多年了,我在写完这篇文章后就开始迁移了。

2018 年总结:选择 Nginx。

替补:dreamhost Web-server-performance-comparison

分享:w3techs.com web_server

分享2:netcraft.com web-server-survey

【讨论】:

  • 这是题外话,但by 2020 if nothing happens 感觉就像是在头上踢了一脚。
  • @Chaos 哈哈,很抱歉英语不是我的主要语言,你会怎么表达呢? “如果什么都没发生,到 2020 年”?
  • 哦,你的英语很好(是的,也许逗号会有所帮助,但我什至没有注意到)。我说的是我从 2020 年获得的 PTSD 是大流行的一年。
【解决方案3】:

确实没有任何客观理由使用 Apache 而不是 Nginx。

其实可能有performance reasons为什么Nginx更胜一筹。然而,在审视整个 Web 应用程序时,这些原因通常并不重要。

您会发现许多主观理由偏爱一台网络服务器而不是另一台,例如与熟悉度相关的偏见。对于 Web 服务器,这些偏见可能与用户的年龄有关,因为 Apache 的存在时间要长得多。对于这些用户中的许多人来说,学习一个新系统并不是对时间的有效利用。对于经验不足的管理员或新管理员,熟悉偏差不适用。

另一个主观原因是错误地认为更大的市场份额总是会产生明显更高水平的支持。这些原因没有认识到在接受极端点之后更大的市场份额的相关性正在减弱。例如,最近的Netcraft survey 拥有 Nginx 在所有网站中高达 14.42% 的市场份额,而 Apache 为 37.45%。虽然人们可能会盲目地假设 Apache 拥有更大的市场份额,但事实是 14.42% 代表 1.48 亿、330 万、190 个网站 (148,330,190 )。这是在 Nginx 上运行的大量网站和用户。 Nginx 的原始用户数量如此之大,以至于它相对较小的市场份额在支持水平上没有明显的差异。

【讨论】:

    【解决方案4】:

    对于那些寻找主要差异/比较的人:

    【讨论】:

      【解决方案5】:

      我可以在第一个答案中添加一些内容。

      Apache 市场份额的总体统计数据是真实的,但您可以更详细地考虑这个问题。 NGINX 在前 1000 个网站和前 10000 个网站中的份额最大,与前 100000 个网站并驾齐驱。 http://w3techs.com/technologies/cross/web_server/ranking

      因此,请弄清楚您希望您的网站属于哪一类使用,并使用它来查找最相关的市场份额信息。

      要了解有关 NGINX 的更多信息,有一本即将出版的“官方”O'Reilly 书籍。在这里免费预览下载:http://www.aosabook.org/en/nginx.html

      【讨论】:

        【解决方案6】:

        apache mod_php 更加稳定和干净,而 nginx 经常会发送 502 编码的 HTTP Bad Gateway 错误。

        【讨论】:

        • 嵌入 PHP 不是“干净的”,恕我直言。它如此受欢迎的唯一原因是它允许网络主机在单个服务器上填充数千个网站。您的 5xx 错误可能是由于配置不当,而不是 Nginx 的限制。
        • nginx 与 php 有什么共同点:D?它只是向您提供为 php 服务的流...为什么在有支持多线程的 php-fpm 时需要 mod_php?我的意思是,您可以保留多少遗产并忽略正确编码的产品,以实现非常灵活的使用,例如 php-fpm、nginx 和其他......??
        猜你喜欢
        • 2010-10-27
        • 1970-01-01
        • 2018-10-20
        • 2010-11-24
        • 2011-01-12
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        • 2011-08-02
        相关资源
        最近更新 更多