Apache w. mod_proxy 或静态媒体服务器在前面?

Apache w. mod_proxy 或静态媒体服务器在前面?

我正在使用 Apache + mod___wsgi 和 nginx 设置一个 Django 服务器作为静态媒体服务器。

我应该把哪个服务器放在另一个服务器前面?使用 mod___proxy 的 Apache 还是 nginx?我听到不同的人说了不同的话。

据我所知,将 nginx 放在前面会稍微快一些,但我无法使用 .htaccess 文件和 mod_rewrites。设置起来也稍微复杂一些。

这是正确的吗?让我们讨论一下 :-)

澄清:

我听说 apache 或 nginx 中的代理非常便宜,所以由哪个服务器执行代理实际上并不重要。apache 在代理完成之前不会“浪费”任何资源。我真的在努力理解这些东西,我真的是一个程序员 :P

答案1

您可以将 nginx 放在 Apache 前面,[proxy_pass][1] 所有非静态请求都可以使用 apache 的 mod_rewrite。它很有效,而且设置起来非常简单。

另一种选择是将两台服务器放在同一级别,并使用不同的域或子域来指向 nginx 服务器的静态文件。

Apache 在 nginx 前面...我不会使用它。在这些设置中我们需要的是减少 Apache 服务器的负载和内存使用,因此在前面或同级别的 nginx 是最佳选择。

更新

nginx 中的 proxy_pass 指令:http://wiki.nginx.org/NginxHttpProxyModule#proxy_pass

相关内容