博客迁移与静态资源的CND部署

最近部署博客的云服务器快到期了,原来低价买的服务器,没一个能原价续费的,大抵所有的云服务厂商都是这种拉新套路吧。原本还想在阿里云和腾讯云之间挑价格合适的(之前一直是腾讯云),但买了阿里云的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的语法,可以较容易的实现迁移(在高版本的MySQLMariaDB中,两者的功能实现出现差异)。Debian 13中,官方仓库同样支持MariaDB,如果想使用较新的版本,可以考虑使用extrepo启用官方仓库的支持,截止目前(2025-10-31),extrepo支持的MariaDB版本有10.1111.411.8,启用时的命令是:

sudo extrepo enable mariadb-<version>

关于extrepo中支持哪些第三方源,可以在这个网站中查询,例如MariaDB内容如下图:

image-20251031173412904
  • 安装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验证。

image-20251031233247359

之后进入控制台的内容分发网络模块,在域名管理中能看到自己添加的CDN域名,在访问控制中开启流量防盗刷和防盗链配置,防止CDN流量被暴力跑空。

同时在HTTPS配置中配置好HTTPS的相关证书(如果博客使用的是HTTPS访问,则博客中内容也应该使用HTTPS以符合规范,不要出现HTTP和HTTPS混用)。

最后在博客中将原来静态资源的地址更换为新的CDN地址即可,由于我原来的资源就是在存储桶中,只需要把原来存储桶的地址改为自定义的CDN地址即可。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇