将Nginx作为Apache的反向代理只能帮助动态内容

Sai*_*han 6 php apache cdn nginx

我计划将所有静态内容移动到CDN,所以在我的服务器上我只剩下动态内容.我现在已经将Nginx设置为Apache的反向代理.Nginx直接提供的静态请求,无需转到Apache.

在这种情况下,Nginx处理了大部分请求,我可以清楚地看到Nginx的必要性.

现在我将所有静态内容移动到另一个域,是否仍然需要在Apache前面使用nginx.因为现在所有请求都是默认的动态请求,所有请求都转到Apache.

让Nginx和Apache仅针对动态内容运行还有其他好处吗?

我的动态内容是PHP/MySQL

编辑:

要明确:我现在将Nginx作为反向代理.它提供静态和动态内容.但我正在将我的静态文件移动到CDN.我还需要在我的域名上使用Nginx吗?

小智 14

是的,你绝对需要在Apache面前使用nginx.Apache每个连接使用1个线程或进程.每个线程占用内存.如果您有几百人访问您的网站并且您启用了keepalive,则这些浏览器中的每一个都将保持apache进程或线程忙于占用服务器上的内存.

您可以通过在apache服务器上禁用keepalive来解决此问题,但这会降低网站的性能,因为浏览器无法重用连接.

因此,您使用nginx作为反向代理,并启用了keepalive.它可以通过微小的内存占用(大约8兆)来维护数千个连接.因为nginx对于您的apache服务器是本地的,所以每个请求只占用一个apache子或线程几微秒.这意味着只需要少量的apache进程就可以为成千上万的人提供服务.

此外,nginx的配置比apache灵活得多,并且通过将它放在前端,它为您提供了很大的灵活性.


goa*_*oat 2

不,你不再需要 nginx 了。

  • 首先我对你的问题有点困惑。您添加 nginx 的唯一目的是提供静态内容。您不再提供静态内容,但您想知道是否还需要 nginx?现在它没有任何作用,只会增加开销。 (2认同)