dmk / mkvarnish
Varnish 扩展程序,适用于 TYPO3
v12.0.0
2024-03-11 11:22 UTC
Requires
- php: ^7.4 || ^8.0
- typo3/cms-core: ^11.5.7 || ^12.4.7
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.3
- namelesscoder/typo3-repository-client: ^1.2
- php-parallel-lint/php-parallel-lint: ^1.3
- phpcompatibility/php-compatibility: ^9.3.5
- phpmd/phpmd: ^2.14
- phpstan/phpstan: ^1.1
- phpunit/phpunit: ^9.6
- saschaegerer/phpstan-typo3: ^1.9
- typo3/testing-framework: ^6.0 || ^7.0
Replaces
- typo3-ter/mkvarnish: v12.0.0
This package is auto-updated.
Last update: 2024-09-11 12:41:01 UTC
README
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 内容渲染器功能。