在同一台服务器上使用 Apache 和 Nginx-为什么?

在同一台服务器上使用 Apache 和 Nginx-为什么?

在许多生产设置中,我经常看到人们同时使用 Nginx 和 Apache - 通常配置为 Nginx 监听端口 80 并将流量“传递”到监听端口 8080 的 Apache。

我尝试用 Google 搜索了很多次,但我无法弄清楚这种架构与仅在端口 80 上运行 Apache 并直接服务所有流量相比有什么好处?

有人可以帮忙吗?

答案1

根据我的经验,当 Apache 用作应用程序服务器时,会使用该设置mod_phpmod_perl在这种情况下,nginx 用于 SSL 终止和提供静态内容(也可能用作缓存),而所有应用程序请求都传递给 Apache。

答案2

在此设置中,nginx 可用于 SSL 卸载 - 根据我的经验,它比 Apache 的 SSL 速度更快。它还可用于对多个上游 Apache 服务器进行负载平衡,但这通常意味着它位于单独的服务器上。

答案3

Apache 可以通过增加一些模块来解决一些类似 Webdav/SVN 的问题,而 NGinx 做不到这一点,而是将请求代理给 Apache。

答案4

Nginx 在高负载下速度更快、更稳定,但不处理 htaccess 文件。因此,您可以使用 Nginx 作为 Web 服务器,使用 Apache 作为应用服务器。

相关内容