手机版
扫描查看手机站
首页 > 文章 > 站长收藏 > 正文

全栈开发next.js 与strapi 视频课程内容总结3

时间:2025-03-14 12:35:48来源:525游

(1292) Next.js 全栈开发实战课:每日一签网站——使用 Cloudflare 管理域名,R2 存储以及配置缓存 - YouTube https://www.youtube.com/watch?v=coXZz6lrJlQ


视频内容总结:Next.js 全栈开发实战课 - 第三段
1. 开场与课程目标
  • 主题:Next.js 全栈开发实战课程第三课。
  • 内容:
    • 通过 Docker 为 Strapi 配置 Cloudflare R2 存储。
    • 在 Cloudflare 上建立 CDN 并配置缓存。
  • 回顾:上次课程部署了 Strapi 到 Zeabur 的 Docker,解决了本地存储不可持久的问题。
2. 为什么选择 Cloudflare R2
  • 问题:Docker 本身无法持久化存储内容,每次重新部署容器会丢失本地文件(如图片)。
  • 解决方案:
    • 将存储托管到第三方云平台(如 Cloudflare R2)。
    • 不推荐仅依赖 Zeabur 本地非 Docker 存储。
  • 优势:
    • 使用多个云平台可获得更多免费额度(数据库、存储、带宽)。
    • 避免与单一服务商深度绑定,降低风险。
  • Cloudflare 特点:
    • 有“赛博菩萨”之称,免费服务多且额度大(如 R2 提供 10GB 免费存储、千万次操作)。
    • 缺点:Workers & Pages 的 Serverless 运行时不稳定,不适合 Next.js/Nuxt.js,但 R2 和 CDN 表现优秀。
3. 配置 Strapi 使用 Cloudflare R2
  • 安装插件:
    • 在 Mono Repo 的 packages/cms 目录下安装 strapi-provider-upload-cloudflare-r2。
    • 通过此插件将 Strapi 的文件上传功能指向 Cloudflare R2。
  • 配置插件:
    • 修改 config/plugins.js,引入环境变量(env)。
    • 添加上传配置:
      • 指定插件为 strapi-provider-upload-cloudflare-r2。
      • 配置 accessKeyId、secretAccessKey、endpoint 和 bucket(通过环境变量传入)。
  • 环境变量设置:
    • 在本地 .env 文件中添加 R2 的认证信息和存储配置。
4. Cloudflare R2 设置
  • 创建 Bucket:
    • 新建 bucket 名为 qian-example,位置默认美西(免费优先,速度次之)。
    • 存储类型选普通存储(无需低频存储)。
  • 获取 Endpoint:
    • 在 R2 的 S3 API 设置中复制上传端点(删除 bucket 名部分)。
  • 生成 API Token:
    • 创建名为 qian-example 的 API Token,权限为 Admin Read & Write,有效期永久。
    • 获取 accessKeyId 和 secretAccessKey,填入环境变量。
5. 配置域名与 CDN
  • 域名注册建议:
    • 推荐 Namecheap(便宜)或 GoDaddy 购买域名。
    • 若面向国内用户,需注册 .cn 域名并备案;若出海或练习,无需备案。
  • Cloudflare 域名管理:
    • 将域名(如 baifo.life)添加到 Cloudflare,修改 Nameserver 指向 Cloudflare。
    • 添加自定义域名(如 image2.baifo.life),绑定到 R2 bucket。
    • 配置过程简单,因主域名已托管在 Cloudflare。
  • 缓存策略:
    • 在 Cloudflare 的 Caching -> Cache Rules 中创建规则:
      • 匹配 image2.baifo.life 的请求。
      • 设置 Edge 缓存(CDN)为 30 天,浏览器缓存为 14 天。
    • 验证缓存:
      • 使用 curl -i 检查响应头,cache-control 显示 14 天,第二次访问显示缓存命中(HIT)。
6. 测试与效果
  • 本地测试:
    • 运行 pnpm run develop,启动 Strapi。
    • 在 Media Library 上传图片,确认图片存储到 R2。
    • 检查 R2 bucket,Strapi 自动生成多种尺寸缩略图(原图 700KB,thumbnail 8KB 等)。
    • URL 显示为 image2.baifo.life,证明存储与域名配置成功。
  • 跨域调整:
    • 修改 config/middlewares.js,将默认数组改为函数。
    • 添加 contentSecurityPolicy,允许访问第三方文件(R2)。
  • 持久化验证:
    • 本地文件因容器销毁而丢失,R2 存储的文件持久存在。
7. 更新部署
  • 代码提交:
    • 修改内容:插件安装、plugins.js、middlewares.js、环境变量、依赖更新。
    • 提交到 GitHub,命名为 change: added Cloudflare R2 as storage。
  • Zeabur 部署:
    • 在 Zeabur 更新环境变量(复制本地 .env 到 Raw 编辑器)。
    • 自动触发部署(因 packages/cms/package.json 变化)。
    • 部署后,线上 Media Library 显示 R2 存储的图片。
8. 课程总结与展望
  • 完成目标:
    • 配置 Strapi 使用 Cloudflare R2 存储。
    • 设置域名、API Token 和缓存策略。
    • 实现文件持久化与 CDN 加速。
  • 基础建设完成:
    • Strapi + TiDB + R2 + Zeabur 的后端搭建完毕。
  • 下步计划:
    • 下节课进入 Next.js 前端开发,基于 Strapi API 搭建网站。
  • 建议:
    • 即使不上传文件,也推荐外部存储(如 R2),简单且实用。
    • 鼓励观众点赞、分享、完播视频。

核心要点
  • 技术栈扩展:Strapi 集成 Cloudflare R2,实现持久化存储。
  • 配置流程:
    • 安装插件,配置环境变量。
    • 创建 R2 bucket,绑定域名,启用 CDN 缓存。
    • 调整中间件支持跨域。
  • 成果:
    • 文件存储从本地迁移到 R2,部署不影响数据。
    • CDN 缓存提升访问速度,降低原站压力。
  • 学习重点:外部存储配置、域名管理、缓存优化。
如果你在后续学习中需要帮助(比如 Next.js 连接 Strapi API 或缓存调试),可以告诉我,我会继续协助你完善课程内容!

区块链技术和YTBCOIN未来发展趋势 问道手游法宝亲密度有什么用(问道手游法宝亲密度有用吗) 区块链Defi金融三要素 手游诛仙法宝血炼有什么技巧(诛仙手游法宝血炼属性替换技巧) 币信钱包怎么提现?币信钱包提现操作教程 okex挖矿一天收益多少? okex挖矿单位日收益 哪款手游可以赚人民币(哪一款手游能赚人民币) 柴犬币和狗狗币哪个有投资价值?柴犬币和狗狗币的区别详解 如何玩比特币期货合约?比特币合约玩法教程 imToken钱包2.0ETH钱包备份详细图片教程 在OKEx交易所用人民币购买泰达币USDT操作步骤教程 梦幻新诛仙焚香谷宝石怎么搭配(梦幻新诛仙焚香谷带什么元素法宝) 冰原守卫者怎么样拆除墙壁(冰原守卫者游戏视频) 金铲铲之战蛮王主C阵容怎么玩 蛮王主C阵容攻略 比特币注册官方网站入口,比特币中国官网登录入口 奇亚币价格今日行情,XCH币实时行情美元汇率历史走势图 我的世界贤者之石有什么用(我的世界贤者之石长什么样) 苹果手机怎么投屏到电视上?苹果投屏到电视上的操作教程图解 ios有什么免费大型游戏(iphone免费大型游戏) 国内十大游戏媒体网站(国内游戏媒体有哪些) 梦幻西游手游回归天数怎么计算(梦幻西游手游回归条件3天还是7天) 消逝的光芒2豪华版奖励如何领取(消逝的光芒2预售奖励) 宝可梦阿尔宙斯火之石怎么获得(阿尔宙斯gf) 蜀门手游装备锻造技巧心得(蜀门手游锻造辅助 v1.0这个有人买了吗?) 梦幻西游门派技能介绍(梦幻西游门派技能介绍最全) 原神铁蜂刺怎么获得(原神铁蜂刺值得做吗) 比特儿交易所法币OTC交易操作教程 什么是Aptos公链?一文全面解读Aptos公链是怎么运作的 手机版有什么攻城守城游戏(攻城类手机单机游戏) 科普:什么是差价合约? CoinW币赢交易所是正规平台吗?币赢交易所App官网下载最新版 lol语音素材在哪里(英雄联盟角色语音包) COTI是什么币种?COTI币前景和未来价值分析 梦幻诛仙手游合欢轮回天书怎么加点(梦幻诛仙手游轮回天书加点技巧详细说明) 第五人格天赋点怎么获取(第五人格天赋点怎么获取不了) 比特币钱包私钥在哪查看?比特派钱包查看私钥方法 纸嫁衣4罗盘怎么获得(纸嫁衣第四章算盘) 宝可梦阿尔宙斯怎么放生宝可梦(阿尔宙斯怎么召唤出来) 硬盘挖矿是什么意思?有哪些币?硬盘挖矿原理详解 dnf110武器需要喂养升级吗(dnf100级武器还能升级吗) Gate.io官网下载苹果怎么下载不了?Gate.io官网网页版登录入口 以太坊ETH钱包要用比特派的五大理由 BHEX是什么交易所?BHEX交易所怎么样? lunc币还有可能翻盘吗_lun币会倒闭 DNF无尽的祭坛在哪里(dnf无尽的祭坛怎么过) 有哪些手游公益服送gm特权(手游公益服满v) 和平精英如何捏脸(和平精英如何捏脸码怎么使用) 屎币有销毁机制吗?屎币2025年销毁机制最新官方消息 有什么适合平民玩家玩的回合制手游(平民回合制游戏) 一文深度了解什么是NFT,你想知道的NFT都在这里 LUNC币今日最新价格行情,LUNC币最新消息实时汇率历史走势图 Tidex是什么交易所?Tidex交易所全面介绍 和平精英怎么换脸型(和平精英怎么换脸型皮肤) 160款电脑处理器越级比武(电脑处理器性能天梯表) 和平精英飞行器没有喷雾还能用吗(和平精英飞行器怎么没有烟雾) 区块链入门知识整理 文件在另一个程序中打开怎么删除?三个方法轻松解决文件夹删除不了 imToken钱包如何进行转账/收款? 回合手游排行榜2023(回合手游排行榜2020前十名) 如何获得火币生态链heco地址?如何提币到heco钱包中 Bakkt是什么交易所?Bakkt交易所全面介绍 ok币是什么意思?欧易平台币OKB介绍 mysql安装教程--mac(mac的mysql安装教程) 创造与魔法基础魔法有哪些(创造与魔法六种魔法) 2023传奇手游人气榜单,快来看看有没有你喜欢的那一款 Hitbtc注册充值提现教程图文分享?Hitbtc交易平台怎么样? 如何使用Uniswap购买SHIB?uniswap购买SHIB使用教程 FRONT是什么币种?FRONT币的价值和前景分析 比特币怎么获得最快最简单的方式?比特币获得方式的几种途径分析 比特币挖矿软件Viabtc矿池怎么注册?BTC矿池比特注册网址 宝可梦传说阿尔宙斯桃发在哪里(阿尔宙斯用法) GOPAX是什么交易所?GOPAX交易所安全吗? 宝可梦传说阿尔宙斯战斗中怎么换宝可梦(宝可梦阿尔宙斯怎么玩) 英雄联盟手游萨勒芬妮出装符文是什么 萨勒芬妮出装符文推荐 csgo蹲下哪个键(cs go蹲下是哪个键) 洛克王国魔法学院广场在哪(洛克王国魔法广场在哪里?) F2Pool鱼池还能挖吗?F2Pool-全球领先的比特币矿池 有什么西游题材的卡牌手游(西游卡牌类游戏有哪些) 大型多人在线网游有哪些(大型多人在线游戏排行) 虚拟资产期货是什么意思?通俗解释虚拟资产期货 创造与魔法奇遇动物资质表 创造与魔法奇遇动物大全) 火币合约(Huobi DM)交易手续费率多少? 诛仙手游神木枝隐藏任务为什么钓不到鱼(诛仙神木枝隐藏任务怎么获得) 炉石传说宇宙卡组为什么叫宇宙(炉石宇宙流为什么叫宇宙流) 我的世界纸要怎么做(我的世界纸怎么做出来的) 阴阳师悬赏封印骷髅怨恨是谁() 云顶之弈S7法术强度修正是什么意思(云顶之弈法强加成系数) 新出的角色类大型网游有哪些(新出角色扮演网游) 有什么手游不花钱好玩的手游(不花钱的手游排行榜2021) 2025年比特现金BCH值得买吗?比特现金2025-2030未来价格预测 我的世界节肢杀手有什么用(我的世界节肢杀手最高等级) 比特币之父到底是谁?比特币创造者中本聪持有比特币数量 htmoon币最新消息这么获得 怎么购买htmoon币 即时战略类游戏有哪些好玩(即时战略游戏都有哪些) GXC是什么币种?公信宝/GXC币前景和未来价值分析 一文带您了解Kyber Network交易所 我的世界怎么成为开发者(我的世界怎么成为开发者上传地图) 梦幻西游手游69和115怎么选(梦幻西游手游69 115) 苹果手机怎么设置铃声?设置自定义铃声完整教程分享 dnf心悦会员怎么开通(地下城心悦会员怎么开)

热门文章

推荐专题

更多>>

游戏推荐

更多>>