先说结论:直接打包整个文件夹+整库还原 = 99%会翻车。别问我怎么知道的,凌晨三点盯着 500 错误页面怀疑人生那滋味,谁用谁知道。
这篇文章就把我Flarum迁移服务器、Flarum换域名、Flarum更换数据库的血泪经验总结成一篇Flarum迁移教程,保证你照着做,30 分钟就能在新机子上喝到奶茶。
一、先搞清楚:到底哪些东西必须带走?
- 数据库:帖子、用户、配置全在里面,必须完整导出。
- public/assets:头像、上传的附件、Logo 都在这。
- extensions:本地安装的插件目录,别漏。
- storage/formatter、storage/less:样式缓存,丢了你前端就炸。
至于 vendor
、storage/cache
、storage/sessions
、storage/views
这些,全是可重新生成的缓存文件,带着它们只会把旧路径、旧域名一起搬到新机,给你惊喜 500 套餐。
二、旧机备份:只拿“安全”文件,别手抖
# SSH 连上旧服务器
cd /var/www
tar czf flarum_safe.tar.gz \
flarum/public/assets \
flarum/storage/logs \
flarum/storage/formatter \
flarum/storage/less \
flarum/extensions
mysqldump -u root -p old_db > old_db.sql
打包完把 flarum_safe.tar.gz
和 old_db.sql
拖回本地或者丢到对象存储,别留在服务器,万一旧机翻车哭都来不及。
三、新机重装:千万别直接解压覆盖!
- 新机装好Nginx + PHP 8.x + MySQL 8.0,宝塔也行,纯命令也行。
- 新建站点,暂时别解析域名,先用 IP 或临时域名。
- 全新 Composer 安装:
composer create-project flarum/flarum . --stability=beta
- 浏览器打开临时地址,走完安装向导,记住新建数据库名和新数据库用户,下一步要用。
四、覆盖“自己的东西”
# SSH 连上新机
cd /var/www/flarum
tar xzf /root/flarum_safe.tar.gz
mysql -u root -p new_db < /root/old_db.sql
这一步只是把附件、插件、样式缓存放回原位,框架本身还是新的,所以不会把旧路径带进来。
五、修改 config.php:域名、数据库、路径一次改到位
打开 config.php
,把下面几项改成新机对应值:
'url' => 'https://新域名.com',
'database' => [
'host' => '127.0.0.1',
'database' => 'new_db',
'username' => 'new_user',
'password' => 'new_pass',
],
'paths' => [
'api' => 'api',
'admin' => 'admin',
],
六、收尾:清理缓存 & 重新生成依赖
composer install --no-dev -o
php flarum migrate
php flarum cache:clear
如果看到 “Nothing to migrate”,说明数据库结构 OK。
如果看到扩展报错,composer require 扩展包
再装一遍就行。
七、DNS 切换 & HTTPS 证书
- 把新域名 A 记录指向新机 IP。
- 宝塔或 Nginx 里一键申请 Let’s Encrypt。
- 打开
config.php
把url
改成https://
,再跑一次:php flarum cache:clear
八、常见翻车点速查表
症状 | 原因 | 秒解 |
---|---|---|
白屏 / 500 | 旧 cache 没删 | 删 storage/cache 再 cache:clear |
样式全炸 | assets 没拷全 | 确保 public/assets 完整 |
扩展失效 | vendor 里缺包 | composer require 扩展 |
上传头像 404 | config.php url 没改 | 改成新域名 |
结语:别再整站打包了,真的
照着这篇Flarum迁移教程做,换服务器、换域名、换数据库三杀一次完成,剩下的时间拿来打游戏不香吗?
如果还踩别的坑,欢迎留言,我踩过的坑一定不让你再踩。
觉得有用就转发给同样在Flarum迁移服务器里挣扎的难兄难弟吧!
没有回复内容