有从 Apache 迁移到 nginx 的经验吗?

有从 Apache 迁移到 nginx 的经验吗?

我想获得一些关于从 Apache 迁移到nginx。我的目标是减少 Web 服务器的内存占用。目前,我在 Apache 上使用以下模块功能:

  • 多个虚拟主机
  • 服务器端包含
  • 快速 CGI

请分享您的经验:迁移期间的问题、迁移后的好处(值得吗?)、nginx 的有用模块等。

答案1

根据我的经验,这是非常值得的。以 Magento 商店为例(众所周知,它通常很慢)。通过切换到 nginx + php-fcgi/php-fpm + apc,我能够将响应时间提高 100% 以上。目前,除非 Apache 中有一个其他地方没有的必备功能(我怀疑这在实践中不会真正发生),否则我总是会使用基于 nginx 的配置。

这是我为 Magento 撰写的文章。HTH。 http://tumblelog.jauderho.com/post/85252024/improving-magento-performance

答案2

您列出的所有功能均由 Nginx 开箱即用地支持:

我们在工作中使用了 Lighttpd、Apache 和 Nginx 的混合体。我们无法完全摆脱 Apache,因为我们正在为它运行几个自定义模块(其中包括一个破解的 mod_pubcookie),将它们移植到 Lighttpd/Nginx 会很麻烦。

我曾经使用 Lighttpd 作为我们事实上的轻量级内容服务器,但其 FreeBSD 实现遇到了许多问题(使用 FreeBSD 的 sendfile/kqueue 系统调用时似乎会出现故障 - 并且当它出现故障时会导致整个服务器瘫痪)。我从未遇到过 Nginx 的任何问题,并且一直在慢慢地用它替换我们所有的 Lighttpd 安装。Nginx 在我们的部署中表现非常稳定。

使用 Nginx 时遇到的问题其文档未被 Google 很好地收录,所以你必须直接去他们的网站查找资料。尽管如此,所有文档都以我理解的方式组织起来,所以找到我需要的东西并不难。

答案3

恐怕我没有使用过 nginx,只使用过 apache 和 lighttpd。我们用一个 lighttpd 实例和通过 FastCGI 连接的 110 个 PHP 进程替换了 110 个以不同用户身份运行的客户 PHP 应用程序的 apache 副本。配置少了很多,内存使用量更低,速度也更快。在这个特定实例中,PHP 应用程序不能直接通过互联网访问。我不确定我们是否会这样做。我们知道我们在使用 Apache 做什么;我们对它有很多经验。我的印象是 Apache 非常灵活,但您需要付出更大、更慢的进程的代价。如果我们不需要这种灵活性,我会使用 lighttpd 和 nginx。我知道这可能并没有真正回答你的问题。

答案4

NginX 与 LiteSpeed:Magento 基准测试 http://turnkeye.com/blog/2010/04/nginx-vs-litespeed-test-magento/

相关内容