各位站长好,我又来写踩坑总结了。昨天刚把自家论坛 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 分钟搞定
- 先装 aaPanel7(官方脚本 1 行命令):
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh
- 面板里一键安装:
- Nginx 1.24
- MySQL 8.0.35
- PHP 8.2(记得勾选 fileinfo、redis、opcache、gd、mbstring、zip)
- Redis 7.x
- 创建站点:
- 域名:www.nervcn.com
- 根目录:/www/nerv(手动改)
- PHP 版本选 8.2
- 新建数据库:
- 数据库名: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
- aaPanel → 网站 → www.nervcn.com → 配置文件,确认 root 指向:
/www/nerv/public
- SSL:直接 Let’s Encrypt 一键,开强制 HTTPS。
- 伪静态:aaPanel 已内置 Flarum 规则,如没有手动添加:
location / { try_files $uri $uri/ /index.php?$query_string; }
- 重载 Nginx:
aaPanel → 服务 → Nginx → 重载
五、DNS 切换 & 回滚方案
- 提前把 www.nervcn.com 的 TTL 调到 60 秒。
- 解析 A 记录指向新 IP。
- 2 分钟内全球生效,访问测试:
- 首页是否正常
- 登录后台
- 发帖/上传图片
- Redis keyspace 有值
- 出 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」之类关键词,希望本文能救你一命。祝你搬家愉快,不翻车!
没有回复内容