惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security @ Cisco Blogs
The Last Watchdog
The Last Watchdog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
aimingoo的专栏
aimingoo的专栏
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
B
Blog RSS Feed
小众软件
小众软件
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
The Hacker News
The Hacker News
T
Tor Project blog
A
Arctic Wolf
Jina AI
Jina AI
Hacker News: Ask HN
Hacker News: Ask HN
F
Fortinet All Blogs
Cloudbric
Cloudbric
S
Secure Thoughts
L
LINUX DO - 热门话题
博客园 - 司徒正美
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
P
Privacy International News Feed
AWS News Blog
AWS News Blog
S
Securelist
TaoSecurity Blog
TaoSecurity Blog
AI
AI
O
OpenAI News
C
Cyber Attacks, Cyber Crime and Cyber Security
K
Kaspersky official blog
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
Google DeepMind News
Google DeepMind News
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
T
Tenable Blog
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
S
SegmentFault 最新的问题

f2h2h1's blog

使用yii3实现一个微框架 claw养殖技术 计算机网络基础知识 定时任务 ACME的使用经验 开发Magento2的模块 在magento2中使用persisted-query socket编程 一些开发笔记 一段CSDN文章主要内容的油猴脚本 电子邮件的不完整总结 git的笔记 在Windows下配置PHP服务器 终端,控制台和外壳 PHP各种运行方式的不完整总结 把网页导出成PDF 和颜色相关的笔记 HTTP认证方式的不完整总结 SEO的经验 密码学入门简明指南 文件的上传和下载 用纯CSS3实现的滑动按钮 在VSCode里调试PHP Linux的GUI 关于字符编码的一些坑 nc的使用和原理 在Windows下安装Magento2 对JS原型链的理解 使用docker-compose部署magento2 浏览器和服务器通讯方式的不完整总结 观察网站性能 一些关于Linux的笔记 telnet的不完整总结 在Windows下安装pear MySQL的时间类型和时间相关的函数 Windows下通过PEB读取进程的环境变量 关于 在VSCode里使用Xdebug远程调试PHP 在Windows下搭建git服务 关于环境变量的不完整总结 使用shell实现的kv数据库 如何完成以xx管理系统为选题的毕业设计 数字号码资源 各种标记语言 使用PowerShell实现的http服务器 kind相关经验 DNSSEC简介 nginx+ffmpeg+websocket实现的直播例子 使用Tesseract识别字符验证码 使用docker部署nuxt FirstData后台的设置 paypal,firtdata,支付宝的不完整接入指南 微信支付的不完整接入指南 用docker-compose部署lnmp环境 mongodb分片 练习
magento2加上varnish缓存
2025-10-15 · via f2h2h1's blog

这篇文章最后更新的时间在六个月之前,文章所叙述的内容可能已经失效,请谨慎参考!

假设已经安装好 magneto2 和 docker

  1. 拉取 varnish 的镜像
    docker pull varnish:6.0
    
  2. 生成 varnish 的配置文件
    • 在管理后台生成
      Admin > Stores > Settings > Configuration > Advanced > System > Full Page Cache
      
      把 full page cache 的类型改成 varnish 后,要先保存设置再生成配置文件 好像还要开启url重写才有效
    • 用命令行生成
      php bin/magento varnish:vcl:generate --access-list localhost --backend-host localhost --backend-port 8080 --export-version 6 --grace-period 300 --output-file var/default.vcl
      
    • 配置文件生成后通常能直接使用,也可以根据项目的具体情况进行修改
    • 这是各个配置项的解释
      • access-list 管理地址,用于使缓存失效
      • backend-host 后端地址
      • backend-port 后端接口
      • grace-period 宽限期,后端接口没有响应时, varnish 至多能提供多久之前的内容,默认是 300 秒
      • export-version 配置文件的版本
      • output-file 配置文件的生成位置
  3. 用生成的配置文件启动或重启 varnish
    • 启动
      docker run --name varnishd --restart always -d -v var/default.vcl:/etc/varnish/default.vcl:ro --tmpfs /var/lib/varnish:exec varnish
      
    • 重启
      docker cp `pwd`/var/default.vcl varnishd:etc/varnish/default.vcl
      docker exec varnishd varnishreload
      
    • 要注意容器的端口映射
  4. 修改 nginx 或 apahce 的配置
  5. 确认部署好后
    • 删除 var/page_cache 文件夹里的内容
    • 打开 magento 的开发者模式
    • 然后访问首页,多访问几次
    • 如果 http 响应头里出现这类值,则表示 varnish 已经生效了
      X-Magento-Cache-Debug: MISS
      X-Magento-Cache-Debug: HIT
      
    • varnish 生效时, var/page_cache 里应该是没有文件的
    • 可以在 varnish 的容器里运行 varnishlog 命令,更好地观察是否有生效
  6. 清除缓存
    • varnish 可以用 命令行 telnet http 三种方式发送清除缓存的命令
    • varnish 清理缓存 purge 和 ban
      • purge 是使缓存失效
        • --access-list 的地址就是用在这里的
        • 如果要是某个 url 的缓存失效,可以这样访问
          假设原本的 url 是 magento.localhost/test1
          假设 access-list 的地址是 purge.localhost
          那么删除 /test1 的缓存,就只需要请求一次 purge.localhost/test1
          
      • ban 是忽略缓存直接访问后端
    • 参考 https://varnish-cache.org/docs/6.0/users-guide/purging.html
  7. 其它