从阿里云迁到腾讯云了,从服务器迁到轻量服务器了,从辽备迁到皖备了。心路历程可以参见这篇文章:小站的搬家经历。此处记录搬家历史。对于动态网站,搬家无非就是两件事,搬网站目录的所有文件和搬数据库,一般来说迁移完这俩基本就好使了。但是我的新旧服务器基础环境不一致:

服务器从 CentOS 7.8 换成了 8.4,PHP 从 7.2 换成了 8.0, Nginx 升级到了 1.20, 数据库升级到了 10.5.6 的样子。

Typecho 正式版真的好久没更新了,都怀疑不支持这个 PHP 版本,于是就选择了新装开发版,除了 /usr 目录进行了替换之外,其余内容均没有修改。数据库这边宝塔导出来的备份文件其实是含建库过程的 SQL 脚本。所以迁移网站似乎确实没啥,即使环境不一致。

哈,碎碎念结束,网站确实没啥,主要是应用环境没了,这点有点烦人,重新配置真消磨时间。

服务器初始配置

系统初始配置

在腾讯云控制台重置 root 密码,以及配置密钥和开放防火墙(后期使用宝塔自带的防火墙)。密钥自己上传进去也行,用宝塔的 SSH 管理页可以。

系统初始化
# 系统升级
yum update

# 安装常用软件
yum install git zsh wget vim

# 安装 oh-my-zsh
sh -c "$(wget -O- https://cdn.jsdelivr.net/gh/robbyrussell/oh-my-zsh/tools/install.sh)"

安装宝塔面板

关于面板 SSL,此处我这里出了问题,申请证书时一直报错,只能先使用自签证书,然后将主域名的证书文件软链接到宝塔面板证书处。如果能在开启 SSL 处申请成功那自然最好。

雷峰塔中有白蛇
# 安装面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

# 淦掉账户登录校验
rm -f /www/server/panel/data/bind.pl

# 主域名博客用,分配二级域名绑定宝塔。
# 主域名申请泛域名证书,宝塔面板开启 SSL,修改证书路径的主域名证书处。
ln /www/server/panel/vhost/cert/szyink.com/privkey.pem /www/server/panel/ssl/privateKey.pem
ln /www/server/panel/vhost/cert/szyink.com/fullchain.pem /www/server/panel/ssl/certificate.pem

预装应用删除

干翻监控
# 整体删除 qcloud 内容,然后重启
# 测试后删除这个不影响快照的新建和恢复
rm -rf /usr/local/qcloud

# 或者是使用卸载命令
/usr/local/qcloud/stargate/admin/uninstall.sh
/usr/local/qcloud/monitor/barad/admin/uninstall.sh

# 查找是否残留进程
ps -A | grep agent

# 删除预置账户
userdel -r lighthouse

应用安装

安装 Docker

文档地址:https://docs.docker.com/engine/install/centos/
# 移除可能的旧版本
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装 yum-utils 包并设置稳定版存储库
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装最新版本的 Docker 引擎
yum install docker-ce docker-ce-cli containerd.io

# 启动 Docker
systemctl start docker
  • 新建一个 coder 用户以方便搭建 code-server(root 账户下执行)
coder 用户
# 新建用户
useradd -m coder

# 为新用户设置密码
passwd coder

# 将新用户添加到 docker 组
gpasswd -a coder docker
  • 配置 coder 用户
在 coder 用户中执行(docker)
# 参考上文更换 shell 为 oh-my-zsh

# 安装 nvm,参考提示配置环境变量并刷新
wget -qO- https://cdn.jsdelivr.net/gh/creationix/nvm/install.sh | sh
source .zshrc

# 安装 node & hexo
nvm install --lts
npm install hexo-cli -g

# 配置 ssh

安装 Cloudreve

宝塔新建一个用户访问 Cloudreve 的站点,将 Cloudreve 的安装包上传到网站目录。同时在该目录下新建 conf.ini 配置文件,用以修改监听端口,顺带将存储类型从 sqlite 换成 mysql。

配置文件地址:https://docs.cloudreve.org/getting-started/config
[System]
Mode = master
Listen = :5212
SessionSecret = ******
HashIDSalt = ******

; 数据库相关,如果你只想使用内置的 SQLite数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = cloudreve
; 密码
Password = TdCP87HJaE8yyXKD
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = cloudreve
; 数据表前缀
TablePrefix = cd_

宝塔应用商店安装 Supervisord 管理器,添加守护程序,内容如下:

添加守护程序
添加守护程序

移除到日志查看,获取初始的账户和密码,然后登陆巴拉巴拉。

  • 搭配 Aria2 实现离线下载

此处我选择了编译安装,从 Github 下载发行版,利用宝塔上传到随便一个看着舒心的目录。

参考 readme.md 文件内容进行编译安装
autoreconf -i
./configure ARIA2_STATIC=yes
make

接着在随便一个看着舒心的位置新建配置文件,内容根据个人需求而定。PS:关于做种,Cloudreve 建立的离线下载只有在满足做种条件后才会将文件从临时目录移到存储目录,所以热门资源还好,冷门资源的话可能会由于很少有人下载满足不了做种条件,这里我建议做种终止条件除了分享率外再添上做种时间。

可执行文件位于 /src/ 目录中,启动命令:

aria2c
# 启动
./aria2c --conf-path="/你的配置文件地址/aria2.conf" -D

# 查找对应 pid
ps -A | grep aria

# 强停软件
kill -9 xxxx

最后跑到 Cloudreve 设置页面配置一下离线下载就好了。

鸽子🕊

未完待续 or 鸽了

评论