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

推荐订阅源

Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
J
Java Code Geeks
L
LangChain Blog
V
V2EX
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
Jina AI
Jina AI
Blog — PlanetScale
Blog — PlanetScale
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
博客园 - 司徒正美
B
Blog
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
MyScale Blog
MyScale Blog
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog

雪糕

Baltimore半日游 / 雪糕 夏日观影 / 雪糕 WP-NeoDB 书影音游管理 / 雪糕 书影音 / 雪糕 为雾凇拼音加入万象向量词库 / 雪糕 2025 年终总结 / 雪糕 iPhone 17 Pro 一月体验 / 雪糕 看极光 / 雪糕 颠沛流离的香港行 / 雪糕 FriendOverflow / 雪糕 做月饼小记 / 雪糕 黄石大提顿之旅 / 雪糕 装逼一周年 / 雪糕 我的 ADHD 没有确诊之路 / 雪糕 如约而至 / 雪糕 日偏食 / 雪糕 尝试 Internet Breaks / 雪糕 New Orleans 之旅 / 雪糕 反对「脱跨入顺」 / 雪糕 我是谁 / 雪糕 写在 2024 Spring 开学之前 / 雪糕 WP Post Heatmap 给 WordPress 博客添加热力图 / 雪糕 2023 年终总结 / 雪糕 UNC MSIS (Software Dev Track) 第一学期就读体验 / 雪糕 自驾去新泽西 / 雪糕 记一次生病——从芝加哥到洛杉矶 / 雪糕 从起点到起点 / 雪糕 在 ASUS 中设置 AdGuard Home 作为 IPv6 DNS Server / 雪糕 网上邻居 / 雪糕 我说 / 雪糕
用 Cloudflare R2 作图床,迁移 WordPress / 雪糕
在理 · 2024-01-07 · via 雪糕
文章目录
  • 将图片默认上传到 Cloudflare R2

我的博客之前放在一台荷兰的主机上,那台主机上有 Minio 图床,有 WordPress, 还有一个额外的 web server. 我的主页是放在额外的 server 上的。之前,域名的 DNS 服务商还是 Fastmail. 虽然知道可以通过 cname 的方式来使用 Cloudflare 的 CDN, 但秉持着能用就不折腾的原则,我干脆没有用 Cloudflare 的任何服务。

而我搬进 Cloudflare 的初衷也很纯粹,单纯是想看有多少人访问了我的博客/网站。我之前没有加过任何的 tracker, 也完全不知道有多少访问量。Cloudflare 可以直接告诉我我的网站有多少访问。我不知道这个数据算高还是低,但光是看统计数据本身,就很让我着迷。

从 Minio 迁移到 Cloudflare R2

迁移过程需要 rclone. 一是因为我的博客年代久远,还有过一段时间是静态博客,所以文件路径不都遵循 WordPress 的默认规则,直接从 Minio 拷贝到 Cloudflare R2 是最简单省事儿的。二是现在 Cloudflare R2 的网页端上传有着诸多限制,网页上传繁琐且低效。

在 macOS 里安装 rclone, 并且分别添加响应的配置文件(CLI,很友好)。

brew install rclone
rclone config

Minio 和 Cloudflare R2 都属于 Amazon S3 Compliant Storage Provider, 直接选择对应的选项即可。 注意,在迁移完成之前可以先不修改图床所用域名的指向记录。Cloudflare 的 API 会提供 end-point URL, 而 Minio 的 end-point URL 在大部分情况下可能是你图床的地址。

在添加完 remote 之后,就可以开始迁移了。

rclone copy /path/to/source folder remote:destination --progress

由于我们是从一个 remote 迁移到另一个 remote, 所以可以写成

rclone copy minio:source-folder cloudflare:destination --progress

可能需要等待一段时间才能复制完毕,添加 --progress 可以查看进度。

迁移完毕之后,可以在 Cloudflare R2 的 buckets 里看到目录结构。

将图片默认上传到 Cloudflare R2

我一直以来使用的插件是 Media Cloud. 在 WordPress 后台直接搜索即可下载,可以选择很多服务商。我用 Minio 的时候就用的 Media Cloud 插件。在迁移到 Cloudflare R2 之后,直接在 Media Cloud 的设置里添加对应 provider 的配置文件,插件会自行验证有没有足够的权限(添加,查看,删除等)。

迁移 WordPress

WordPress 的迁移出乎意料地简单。先在现有的 WordPress 里安装 UpdraftPlus 插件,并且备份一切内容(数据库和上传的文件等)。在新的服务器上部署完 WordPress 之后,只需要安装 UpdraftPlus 插件,然后把之前备份的文件上传,即可直接恢复。新环境和旧环境最好使用相同版本的数据库和 PHP. 但我新环境是 php 8.2, 旧环境是 php 7.x 没有出现什么问题。But, YMMV. 使用 UpdraftPlus 恢复的插件和主题会因为权限问题无法修改删除,需要手动 chmod 一下。谨慎起见,还可以使用 WordPress 自带的重新安装功能让自己更安心。

在迁移过程中,可以暂时修改 hosts 文件来确认新环境下的 WordPress 是否成功运行。在确认没有问题之后,就可以在 DNS 服务商那里修改指向,然后上线了。

在迁移之后,理论上来说我的访问速度会提高。相比较之前在荷兰的服务器,我现在在美东,新服务器在美东,我这里 Cloudflare 回源美东会更快。不幸的消息是,在亚洲太平洋地区的朋友们访问可能会慢一些,但只要我这里快就够了。