最近部署博客的云服务器快到期了,原来低价买的服务器,没一个能原价续费的,大抵所有的云服务厂商都是这种拉新套路吧。原本还想在阿里云和腾讯云之间挑价格合适的(之前一直是腾讯云),但买了阿里云的99计划尝试部署后,发现之前在腾讯云备案的域名,要在阿里云再备案一次才能不被阿里云拦截。嫌麻烦的我也是果断拒绝了阿里云,好在阿里云有支持5天无理由的退订,也是嫖了几天的使用权。最后还是在腾讯云上发现的99元续费原服务器的活动,那直接续费得了。
由于是原服务器续费,所以博客也就没有迁移的必要,但我在使用阿里云的时候想到的方案是,我在本地的闲置开发板上部署我的博客,使用frp转发到服务器,服务器在用Nginx对访问进行分类实现博客的访问,这样每次更换服务器就只需要修改frp的配置ip,免得每次都从数据库到php之类的重新部署,下面是记录的迁移过程。
原来部署网站时,使用的是宝塔面板,环境的配置直接是面板中选择LAMP或者LNMP直接脚本安装的,网站使用的是wordpress的框架,同样是直接安装部署的。使用宝塔面板迁移的话,只要在另一台服务器上也部署上宝塔,把原服务器上的内容备份,在新服务器上导入就行,但我肯定不会在我自己的开发板上安装宝塔面板,所以所有的依赖都使用包管理器安装。
Nginx
Linux系统就不说了,用的Debian 13.
Nginx包含在Debian的官方仓库中,但是版本滞后,尤其如果系统版本也比较老,包的版本就更老。如果不需要使用新版本中的特性,可以考虑直接使用官方仓库,但由于我的博客原来使用的Nginx版本比较新,因此考虑使用Nginx官方提供的仓库。
由于使用的是Debian,可以使用extrepo包管理第三方软件的源,包括Nginx的软件源(注意:Ubuntu虽然也能安装extrepo包,但是添加的软件源是Debian的,因此无法使用)。
- 首先安装
extrepo
sudo apt update
sudo apt install extrepo
- 启用Nginx软件源
sudo extrepo enable nginx
- 安装Nginx
sudo apt update
sudo apt install nginx
- 使用
hold参数锁定包,防止更新
sudo apt-mark hold nginx
默认安装的是stable版本,截止当前(2025-10-31),稳定版为1.28.0,也可以指定版本与原来的环境版本对应。
数据库
原来的博客使用的数据库为MySQL,但由于我使用的开发板是基于aarch64的ARM开发板,MySQL并没有提供基于ARM的构建好的安装文件,为了方便,使用官方支持ARM版本的MariaDB,其是一个开源的、社区驱动的MySQL分支,兼容大部分MySQL的语法,可以较容易的实现迁移(在高版本的MySQL和MariaDB中,两者的功能实现出现差异)。Debian 13中,官方仓库同样支持MariaDB,如果想使用较新的版本,可以考虑使用extrepo启用官方仓库的支持,截止目前(2025-10-31),extrepo支持的MariaDB版本有10.11,11.4和11.8,启用时的命令是:
sudo extrepo enable mariadb-<version>
关于extrepo中支持哪些第三方源,可以在这个网站中查询,例如MariaDB内容如下图:

- 安装
MariaDB
sudo apt install mariadb-server
- 使用
hold限制自动更新
sudo apt-mark hold $(apt list --installed 2>/dev/null | awk -F'/' '/\+maria|\/mariadb/ {print $1}' | sort -u)
这个命令主要查找包中中使用了+maria或者mariadb的包,并进行hold
PHP
关于php,由于extrepo中没有php的软件源,且我原本博客使用的php版本不高,因此直接使用的官方仓库中的php。
- 安装
php
sudo apt update
sudp apt install php
- 安装相关的插件,包括连接数据库等的插件
- 使用
hold命令防止自动更新
sudo apt-mark hold \
php8.2-cli \
php8.2-common \
php8.2-fpm \
php8.2-mysql \
php8.2-opcache \
php8.2-readline
当然也可以使用php官方的仓库,具体可以在php安装中查看添加源和安装不同版本的命令。
设置腾讯COS的CDN
这里开始设置腾讯云的对象存储(COS)的CDN访问,CDN使用的也是腾讯云。
从腾讯云的控制台入口进入对象存储的控制台,并进入存储桶的管理界面,进入域名与传输管理列表中
在页面的自定义CDN加速域名中添加域名,注意根据中国互联网的规定,网站中所有资源的地址的二级域名应该是该网站的域名,根据提示做好相应的DNS验证。

之后进入控制台的内容分发网络模块,在域名管理中能看到自己添加的CDN域名,在访问控制中开启流量防盗刷和防盗链配置,防止CDN流量被暴力跑空。
同时在HTTPS配置中配置好HTTPS的相关证书(如果博客使用的是HTTPS访问,则博客中内容也应该使用HTTPS以符合规范,不要出现HTTP和HTTPS混用)。
最后在博客中将原来静态资源的地址更换为新的CDN地址即可,由于我原来的资源就是在存储桶中,只需要把原来存储桶的地址改为自定义的CDN地址即可。