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

推荐订阅源

S
Schneier on Security
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
D
DataBreaches.Net
F
Full Disclosure
腾讯CDC
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
大猫的无限游戏
大猫的无限游戏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
SegmentFault 最新的问题
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园 - 聂微东
雷峰网
雷峰网
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy International News Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
A
Arctic Wolf
Scott Helme
Scott Helme
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
博客园 - 三生石上(FineUI控件)
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
CERT Recently Published Vulnerability Notes
O
OpenAI News
Project Zero
Project Zero
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Application and Cybersecurity Blog
Application and Cybersecurity Blog
云风的 BLOG
云风的 BLOG
N
News and Events Feed by Topic
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog
Cisco Talos Blog
Cisco Talos Blog
P
Palo Alto Networks Blog
Schneier on Security
Schneier on Security

网上冲浪指南

修复小新 Pad Pro 2021 蓝牙耳机没有声音的问题 手动升级一下 OpenWRT 如何安全地面向公网提供本地 NAS 上的 Web 服务 徒步·金堂开照寺二道坪山脊环线 Hello, ActivityPub 优化博客网站的性能 解决 Qsirch 无法搜索文件夹的问题 N100 小主机遭遇 NVMe 硬盘故障:一次系统的诊断与反思 外接显示器 EDID 损坏如何处理 How to switch GitHub CLI account automatically
迁移博客到 VPS
Zeeko · 2026-01-22 · via 网上冲浪指南

在上篇文章优化了博客网站的性能过后,我对页面加载速度仍感到不太满意,Cloudflare 显示大部分页面仍需要等待接近 2 秒才能完成响应。一想到我之前在 cPanel 上执行了一些比较重的操作,网页的加载速度就会下降,所以可能之前的 Host Provider 并没有给我分配多少资源来折腾,这大概率就是网页访问速度慢的重要原因之一。

为了验证这个观点,我尝试在 Homelab 中的 N100 主机上部署了一个 WordPress,并将博客网站复制了一份到这台服务器上。我发现在缺少 Cloudflare 缓存的情况下,就算是通过 Cloudflare Connector 从公网访问家庭内网中的网站都比我线上的博客网站要快 😂。

确认了是 Host Provider 的性能问题后,我决定将博客网站迁移到我的一台 VPS 上,那么这篇文章的重点终于开始了。

我的 Word Press 实例一开始就是通过 Host Provider 建立的,之前在不同的 Provider 之间迁移时,主要也是通过管理面板上提供的一键迁移功能完成操作。但我没想到的是,这些一键迁移功能所涉及的插件都是付费的,之前之所以能顺畅的使用,大概率是 Host Provider 已经为这些功能付过了钱。

虽然插件市场中也有免费的备份恢复插件,但要么是备份出来之后不让恢复,要么是恢复备份会出错, 更离谱的是有些插件备份出来的数据竟然是加密的。

不过好在管理面板提供了一个简单的 Full Backup 功能,可以将 WordPress 目录连同整个数据库 Dump 一起打包。

在我的 VPS 上,出于方便我一直没安装任何面板,唯一的管理工具是 CapRover ,你将其简单的理解为自部署版 heroku。他自带的 WordPress 的部署模板,只要简单替换一下变量,就可以快速启动一个 WordPress 容器:

在这里,需要注意的 WordPress 的 Docker 镜像默认不包含 WP-CLI,需要使用 6.9.0-cli 标签才能部署带 WP-CLI 的镜像。

由于 CapRover 的限制,部署好的 WordPress 只能通过 CapRover 的 Nginx 网关访问,而 Nginx 网关已经处理了 TLS,所以转发到 WordPress 的流量只有 HTTP。

如果你从零使用 Docker 创建 WordPress 实例,上述的情况不会影响你,但如果使用从其他地方复制过来的 WordPress 实例,就会遇到无限重定向的问题。具体表现为访问 /wp-admin 时,会响应当前重定向到当前 URL 。这时,就需要在 wp-config.php 的最顶部,添加下面的代码:

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
   $_SERVER['HTTPS']='on';
else
   $_SERVER['HTTPS']='off';

后记

上面就是迁移博客过程中比较大的坑点了,其实就算花 $9.9 买一个一键迁移插件可能也无法避开。但如果我在原来的 Provider 上加钱升级配置,可能也就不需要这次的迁移了。根据基本的经济学原理,我今天下午工作的价值就是下一档配置的 3 年订阅费,大概 $300,又省到钱了~