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

推荐订阅源

T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
L
LINUX DO - 热门话题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
V
V2EX
GbyAI
GbyAI
量子位
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
S
SegmentFault 最新的问题
O
OpenAI News
N
News and Events Feed by Topic
博客园 - Franky
爱范儿
爱范儿
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V2EX - 技术
V2EX - 技术
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Schneier on Security
Schneier on Security
Cloudbric
Cloudbric
Security Archives - TechRepublic
Security Archives - TechRepublic
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
人人都是产品经理
人人都是产品经理
P
Privacy International News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
D
DataBreaches.Net
Last Week in AI
Last Week in AI
罗磊的独立博客
Spread Privacy
Spread Privacy
Recent Announcements
Recent Announcements
The Cloudflare Blog
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
The Register - Security
The Register - Security
Y
Y Combinator Blog
J
Java Code Geeks
I
Intezer

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. 其它