从零搭一套内容底座:WordPress + 宝塔 + 腾讯云 COS 全实录

一次真实的搭建过程记录。坑不藏,包括我自己犯的低级错误。如果你也是做电商运营、想给自己攒一块不靠平台的内容地,这篇能帮你省掉一整天的排查。

在自己的桌前搭一套内容底座
在自己的桌前搭一套内容底座

一、先说这套东西是干什么的

一句话:给自己搭一块"内容资产自己说了算"的地

具体的活儿是这样分工的:

  • 服务器:腾讯云轻量应用服务器,上海节点
  • 面板:宝塔面板,负责装环境、开 SSL、改端口这些苦活
  • 内容后台:WordPress,主站 www.mxiu.cc
  • 图片托管:腾讯云对象存储 COS,走自己的域名 img.mxiu.cc
  • 前端出口:微信小程序,内容通过 WordPress 的接口读取
内容从后台流到云端,再流到小程序
内容从后台流到云端,再流到小程序

也就是说,同样一篇文章,写一次,网页和小程序两头都能用。以后想再挂第三个出口(H5、App、别人的站),不用重写内容。

这就是自建的价值——不是在炫技术,是不想哪天平台规则一变,自己攒了三年的内容归零


二、踩坑实录(全文最有价值的部分)

坑 1:WordPress 装好了,小程序却读不到

现象:浏览器打开网站一切正常,但小程序请求接口全部 404。

排查:我用三条命令对比了一下:

/wp-json/wp/v2/posts        → 404
/index.php/wp-json/...      → 200
/?rest_route=/wp/v2/posts   → 200

三条路径指向同一个接口,结果却不一样——问题不在代码,在地址重写(伪静态)没生效

解决:两步,缺一不可

  1. 宝塔面板 → 网站设置 → 伪静态 → 选 wordpress
  2. WordPress 后台 → 设置 → 固定链接 → 选「文章名」

为什么这两步都要做:伪静态是服务器不认识这种网址,固定链接是 WordPress 不肯给这种网址。两边同时配合,接口才通。


坑 2:图片往哪儿放?(我否决自己会员方案的全过程)

我第一反应是:我有夸克云的会员,图片直接扔网盘不就行了?

结论是不行。 三个硬伤:

  1. 防盗链:网盘的直链做了来源校验,第三方站点引用会被拦
  2. 临时直链:拿到的地址是有有效期的,过期就碎图
  3. 没有 CDN:图片加载慢,而且这本身也违反网盘的使用条款

这里有个概念要掰清楚:网盘 ≠ 图床

  • 网盘是给你"存"的
  • 图床是给"公开高频读取"的

需求完全相反。存东西可以省钱,但读图片这件事,天生必须花钱(流量费),天下没有又免费又能抗压的图床。

最终选择:腾讯云 COS,理由是它在同一个云账号体系里、延迟低、按量付费可控。


坑 3:COS 建桶时,那个"默认就选中"的选项

创建存储桶时,"数据冗余策略"这一栏,默认高亮的是「多 AZ 存储」

这个默认值对我的场景是错的,两个原因:

  1. 免费额度用不上——新用户送的 50GB 套餐是"单 AZ"的,选多 AZ 等于直接开始按量付费,单价还更贵
  2. 开了就关不掉——页面上写着"多 AZ 特性开启后无法关闭"。选错了只能删桶重建

经验:凡是"默认选中"且"不可逆"的选项,都要停一秒看一眼再点下一步。

顺带一个反直觉的点:访问权限必须选「公有读私有写」

  • 「私有读写」听起来安全,但你的图片是小程序公开读的,选了它就全都加载不出来
  • 「公有读私有写」= 谁都看得到图片,但只有你(拿密钥)能上传和删除

这是图床的标准配置。


坑 4:域名在阿里云,云服务在腾讯云

这个坑很典型,而且一开始完全想不到

我的域名 mxiu.cc 的 DNS 解析托管在阿里云,但服务器和 COS 都在腾讯云

后果:腾讯云控制台里那些"一键自动添加解析"按钮全都用不了(它们只认自家的解析服务)。所有记录都得手工去阿里云加。

这不是错误,是正常做法——跨平台解析完全支持,只是要记住"在哪边加记录"。

(顺便:你可以在终端敲 dig +short NS 你的域名 一条命令查出来 DNS 到底托管在哪。我第一次也以为是腾讯云。)


坑 5:最难堪的一个——"我已经输入好了" ≠ "已经保存了"

申请 SSL 证书时,需要加一条 TXT 解析记录做域名验证。我加完之后,验证一直失败。

真实原因:阿里云添加记录是个弹窗,填完之后必须点弹窗底部的「确认」。我填完就把弹窗关了。

弹窗一关,什么都没留下。

顺带解决了第二个问题:验证失败不等于记录填错了。DNS 有"否定缓存"机制——之前查不到的结果会被记住 10 分钟。加完立刻点验证,大概率失败;失败后一慌,去改记录,越改越乱。

正确姿势:加完记录,先等几分钟确认解析生效,去点验证。

深夜排查:最容易出错的从来不是技术,是手快
深夜排查:最容易出错的从来不是技术,是手快

坑 6:证书"绑定"了,HTTPS 还是打不开

证书签发、绑定、强制 HTTPS 全部做完,网页依然打不开。

原因配置下发需要时间。腾讯云页面上写着"域名生效约 30 分钟",我实测是 10~18 分钟

这类等待期最容易出事:人一看没生效就回去改配置,结果把本来对的配置改坏了。配置改完就等,别回头。


坑 7:备案号没挂(这是个合规问题)

网站备案号必须挂在首页页脚,并且要能点进工信部网站。这个我一开始漏了。

用接口直接写进去的,顺手发现两个小坑:

  1. WordPress 用接口创建"页脚小工具"之后,不会自动上线,必须再调一次接口把它指派到页脚区,否则它躺在"未启用"区里
  2. 主题的页脚是 flex 居中布局、没有设置间距,直接插一个控件会紧贴在版权文字上,得自带一行样式修一下

提醒:这一步别忘。备案号不挂,严格说是可以要求整改的。


三、这套东西花了多少钱

项目 费用
云服务器(轻量,上海) 按套餐年付,日常运营够用
域名 一年几十块
SSL 证书 0 元(免费 DV 证书)
COS 图片托管 基本落在免费额度内,超了也是几毛到几块

结论:一次搭建,长期成本极低。 真正的成本是你的时间——所以这篇文章才值得看。


四、回头看,这套架构值在哪

  1. 内容自己持有:不用担心平台规则变化、账号异常
  2. 写一次多端用:网页、小程序共用一套内容
  3. 可扩展:以后加 App、加 H5,内容层不用动
  4. 全链路可控:从服务器到图片 CDN,每个环节都能自己排查

五、下一步

内容底座搭好了,接下来做小程序端的对接:

  • 小程序的图片域名、接口域名要加白名单
  • 内容端选一套开源的框架做二次开发
  • 打通"后台写文章 → 小程序看到"的完整链路

这部分的坑我会继续记。如果你也在做同样的事,欢迎交流。


本文记录于搭建完成当天。文中所有配置均已在真实环境验证通过。

发表评论