吐血整理!Flarum 1.x 从「Debian12+夸克面板」无痛搬家到「Debian12+aaPanel7」全攻略|www.nervcn.com 实战笔记 - 技术宅银魂 - 科技改变生活 - 万事屋 | 生活·动漫·娱乐综合社区-银魂同好聚集地

吐血整理!Flarum 1.x 从「Debian12+夸克面板」无痛搬家到「Debian12+aaPanel7」全攻略|www.nervcn.com 实战笔记

各位站长好,我又来写踩坑总结了。昨天刚把自家论坛 www.nervcn.com 从老掉牙的夸克面板搬到清爽顺滑的 aaPanel7,全程 1 小时 23 分,停机 2 分钟。今天就把Flarum 1.x 完整迁移步骤Debian12 搬家教程aaPanel7 环境搭建一次性打包给你,顺便把 SEO 长尾词都塞满,免得你们搜不到。

迁移背景

老服务器配置:Debian12 + 夸克面板 + OpenResty1.25 + MySQL8.0 + PHP8.2 + Redis,网站根目录 /www/nerv
新服务器配置:Debian12 + aaPanel7 + Nginx1.24 + MySQL8.0 + PHP8.2 + Redis7.x,网站根目录同样 /www/nerv
域名不变:www.nervcn.com

一、老机器:完整备份,一个都不能少

1. 打包网站文件

# 先 cd 到根目录
cd /www/nerv

# 排除缓存和日志,省得包爆炸
tar --exclude='storage/cache/*' \
    --exclude='storage/logs/*' \
    --exclude='storage/sessions/*' \
    --exclude='storage/tmp/*' \
    -I 'pigz -9' -cpf /root/nervcn_files.tar.gz .

2. 导出数据库

mysqldump -u root -p \
  --opt --single-transaction --routines --triggers \
  flarum_db | pigz -9 > /root/nervcn_db.sql.gz

3. Redis 持久化(可选)

redis-cli --rdb /root/nervcn_redis.rdb

4. 把备份扔中转机

rsync -avP /root/nervcn* user@中转IP:/backup/

二、新机器:aaPanel7 环境 10 分钟搞定

  1. 先装 aaPanel7(官方脚本 1 行命令):
    wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh
  2. 面板里一键安装:
    • Nginx 1.24
    • MySQL 8.0.35
    • PHP 8.2(记得勾选 fileinfo、redis、opcache、gd、mbstring、zip)
    • Redis 7.x
  3. 创建站点:
    • 域名:www.nervcn.com
    • 根目录:/www/nerv(手动改)
    • PHP 版本选 8.2
  4. 新建数据库:
    • 数据库名:flarum_db
    • 用户名:flarum_user
    • 密码:最好与老机器一致,省得改 config.php

三、新机器:恢复数据,踩坑预警

1. 拷文件 & 解压

mkdir -p /www
rsync -avP user@中转IP:/backup/nervcn_files.tar.gz /www/
cd /www
tar -I pigz -xpf nervcn_files.tar.gz -C nerv

2. 权限别翻车

chown -R www:www /www/nerv
chmod -R 775 /www/nerv/storage
chmod -R 775 /www/nerv/public/assets

3. 导入数据库

aaPanel → 数据库 → 导入 → 上传 nervcn_db.sql.gz → 选择 flarum_db → 点击导入,喝杯茶。

4. 改 config.php(数据库/Redis 信息)

cd /www/nerv
nano config.php

把 host、user、password、redis host/port/db 改成新机器对应值。

5. 安装依赖 & 清缓存

sudo -u www composer install --no-dev --optimize-autoloader
sudo -u www php flarum cache:clear

四、Nginx 伪静态 & SSL

  1. aaPanel → 网站 → www.nervcn.com → 配置文件,确认 root 指向:
    /www/nerv/public
  2. SSL:直接 Let’s Encrypt 一键,开强制 HTTPS。
  3. 伪静态:aaPanel 已内置 Flarum 规则,如没有手动添加:
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
  4. 重载 Nginx:
    aaPanel → 服务 → Nginx → 重载

五、DNS 切换 & 回滚方案

  1. 提前把 www.nervcn.com 的 TTL 调到 60 秒。
  2. 解析 A 记录指向新 IP。
  3. 2 分钟内全球生效,访问测试:
    • 首页是否正常
    • 登录后台
    • 发帖/上传图片
    • Redis keyspace 有值
  4. 出 bug?立刻改回旧 IP,老服务器先不删,留 7 天观察。

六、一键脚本(懒人福利)

把以上步骤写成 migrate.sh,下次搬家直接跑,停机时间压到 2 分钟。

七、常见踩坑答疑

症状 原因 解决
502 Bad Gateway PHP-FPM sock 路径不对 aaPanel → PHP82 → 配置 → 看 sock 路径
上传头像 413 Nginx client_max_body_size 过小 在 aaPanel 网站配置里加 client_max_body_size 50M;
样式全崩 storage/assets 没权限 重新给 775 & www 用户

结语

以上就是Flarum 1.x 从 Debian12+夸克面板迁移到 Debian12+aaPanel7 的完整实战记录。如果你也在找「Flarum 完整迁移教程」「Debian12 aaPanel7 搭建 Flarum」之类关键词,希望本文能救你一命。祝你搬家愉快,不翻车!

请登录后发表评论

万事屋新帖