nginx 缓存、机制和撇号

nginx Caching, mechanic, and apostrophe

除了直接提供静态文件外,机械师是否公开任何 commands/tools 以在 nginx 中添加缓存?此外,使用 nginx 的内置缓存和 Apostrophe 或我应该使用的特定配置来确保我不会耗尽核心功能是否有任何问题?

我是 P'unk Avenue 的 Apostrophe 的首席架构师。

Mechanic 没有专门公开任何缓存选项。不过,您应该能够通过 /etc/nginx/mechanic-overrides 文件夹设置缓存,它提供了在 mechanic 构建的 nginx 配置文件中的不同位置插入自定义规则的位置。

至于撇号,管理员编辑网站肯定有问题。如果缓存页面,则登录不会更改站点的外观以包含编辑控件。如果您进行编辑并且编辑被缓存,您将看不到您的工作。这种事情会导致不一致和混乱的行为。

所以我建议使用 mechanic 为您的网站设置一个单独的子域,仅用于编辑目的,指向相同的后端端口。唯一的区别是您不会为其启用缓存。

这很好用,但在使用富文本编辑器编辑链接时,您必须小心不要将任何绝对链接粘贴到编辑子域。

然后,您可以根据自己的喜好对主域进行缓存,只要您对所设置的缓存规则感到满意即可。

当然,如果您将主页缓存一天然后编辑主页,该更改不会立即反映在主域上。

但是,还要记住,机械师已经设置为直接通过 nginx 传送静态文件,例如媒体和 CSS/JS/font 资产,绕过这些的后端节点进程。因此,如果您担心页面本身在重负载下的性能,那么实际上只需要考虑在 nginx 级别进行缓存。

说到这里,您绝对应该 运行 在我们的多核配置中使用撇号,以提高可扩展性和可靠性:

Running Apostrophe on multiple cores and/or servers

希望对您有所帮助!