dmk/mkvarnish

Varnish 扩展程序,适用于 TYPO3

安装次数: 7,510

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 23

分支: 2

开放问题: 0

类型:typo3-cms-extension

v12.0.0 2024-03-11 11:22 UTC

README

TYPO3 compatibility Latest Stable Version Total Downloads Build Status License

Varnish Cache 是一种网络应用程序加速器,也称为缓存 HTTP 反向代理。您可以在任何支持 HTTP 服务器之前安装它,并配置它来缓存内容。Varnish Cache 非常快。它通常可以将传输速度提高 300 - 1000 倍,具体取决于您的架构。关于 Varnish 所做的概述,可以在 varnish-cache.org 上阅读。

简介

它做什么?

此扩展程序告诉 Varnish 关于页面 TYPO3 的信息,以便 Varnish 可以根据这些信息做出适当的缓存决策。当通过 TYPO3 后端更改内容时,它通知 Varnish 无效化缓存。

功能

  • 为 Varnish 和 TYPO3 准备好的配置文件
  • 使用缓存标签对所有页面进行基于 Varnish 的缓存
  • TYPO3 清除缓存钩子以清除缓存或在 Varnish 中智能禁止相关页面

背景

  • 扩展程序设置 config.sendCacheHeaders = 1 以启用 TYPO3 核心功能,该功能将发送适当的缓存头到 Varnish
  • 发送 "X-Cache-Tags" HTTP 头,该头用于发出 PURGE 命令
  • 在 TYPO3 清除缓存操作期间向 Varnish 发送适当的 PURGE 命令
  • 这些头仅用于 Varnish 处理,之后将删除

安装

我们建议通过 composer 进行安装。您可能可以使用我们的 TYPO3-Composer-Webroot 项目

从项目根目录运行

composer require dmk/mkvarnish

要求

  • 您应该熟悉 Varnish 以及您如何在特定设置中实施 Varnish。
  • Varnish 必须处于运行状态。您可以在 EXT:mkvarnish/Configuration/Varnish/default-4.vcl 中找到示例配置。请确保更改或删除 sub vcl_recv 开头处的调试 ID。此外,您还应该检查 sub vcl_recv 的最后一条注释并相应地操作。
  • 对所有静态文件的请求应发送适当的 expires 头

配置

  • $TYPO3_CONF_VARS['SYS']['reverseProxyIP'] 设置为 Varnish 用于连接到您的 Web 服务器所使用的 IP 地址,或者通过将扩展程序配置中的 sendCacheHeaders 设置为 强制启用 来启用扩展程序中的缓存。
  • 不要使用会话,fe_typo_user cookie 将禁用缓存
  • 不要设置 no_cache=1
  • 使用 *_INT 对象也会禁用缓存,请勿使用它(您可以在管理面板中找到它们。)

USER_INT 对象

有时有一个页面应该通过 Varnish 进行缓存,但包含 USER_INT 插件,例如包含评论插件的新闻详情页面。将此类插件迁移到 USER 插件可能很麻烦,甚至不可能。但是有一个简单的解决方案:插件需要使用 Ajax 进行延迟加载。为此,您可以使用 mktools 的 Ajax 内容渲染器功能。