我目前有以下设置:
Nginx (https) => ssl 卸载 => Varnish (http) => Apache (http)
我想添加 mod_pagespeed 或 nginx pagespeed。有什么想法可以添加在哪里吗?我应该考虑将 pagespeed 添加到 Apache 还是 Nginx?
以下页面有一些信息,但我不确定如何处理我们的具体设置。
https://developers.google.com/speed/pagespeed/module/downstream-caching
我正在考虑探索以下选项之一:
将 pagespeed 添加到 nginx,使 pagespeed 使用来自 varnish / apache 的缓存页面并即时执行 将 pagespeed 添加到 Apache,并配置它,以便根据用户代理/屏幕分辨率缓存页面。如果我理解正确,我上面指出的文章是指第二个选项。但我认为设置第一个选项可能更容易?
先谢谢您的帮助!
答案1
我可能会将 PageSpeed 添加到 Apache。这样,页面只需优化一次,缓存在 Varnish 中,然后由 Nginx 提供。这将更加高效,减少 CPU 使用率,如果您将 PageSpeed 放在 Nginx 上,它可能必须在每次请求时都执行此操作。
注意:这是基于我读过的文档,而不是实际经验。
答案2
要使用 Nginx PageSpeed 模块,您必须重新编译 Nginx 以进行安装,然后每次需要对 PageSpeed 或 Nginx 进行更新时,都要重新编译 Nginx。相比之下,Apache 可以将 PageSpeed 代码加载为外部模块,从而使 Apache 路由更易于管理。
我刚刚完成了 Nginx PageSpeedd 的安装。使用默认设置添加它只会将我们的 PageSpeed Insights 得分提高 4 个端口(满分 100)。我认为不值得为了相对适中的增益而维护自定义包。此外,Nginx PageSpeed 模块导致 PageSpeed Insights 工具注意到交付速度变慢,这可能是由于它执行的内容过滤的 CPU 开销造成的。我不得不安装一个 Wordpress 缓存插件来缓解这种情况。
答案3
由于我还不了解 Varnish,所以我不确定集成这些产品的最佳方法是什么。
但是,这是我获得 pagespeed 模块的地方。https://www.getpagespeed.com/redhat
大部分工作都是在 NGINX 中完成的。
Pagespeed 扩展缓存具有一些很酷的功能,我认为它们可以与 Varnish 混合集成。
我还发现这可能有用 https://gist.github.com/section-io-gists/dcda5a05d1006e3b8c8bd17e7105749c
哦,别忘了 Brotli 压缩 https://www.getpagespeed.com/server-setup/nginx/install-nginx-with-brotli-module-in-centos-redhat-7
我要尝试:
NGINX (SSL 终止、PageSpeed、PageSpeed 缓存、Brotli) <-- Varnish <-- Apache (应用程序)
将 pagespeed 迁移到 Apache 可能更明智