Flarum 宝塔完美迁移教程

一.备份文件
在宝塔上备份需要迁移的Flarum网站文件以及数据库文件

将备份好的文件下载到电脑上

二.重新部署Flarum
在新的服务器部署一个新的Flarum

新服务器的环境需要和之前的保持一致,否则可能会有错误产生

如果你忘了宝塔如何部署Flarum,安装教程1

三.恢复数据
部署完新的Flarum后

恢复网站
上传原Flarum网站文件压缩包至新服务器上,解压到一个单独的文件夹里,不要直接解压覆盖新部署的Flarum

我们只需要将原网站文件里的public文件夹,vender文件夹,composer.json文件,composer.lock文件覆盖至新部署的Flarum根目录

恢复数据库
解压原Flarum数据库文件获取sql文件

打开宝塔数据库界面

上传并导入新的数据库中即可

四.大功告成
在根目录composer install
刷新一下网站,Flarum就完美迁移成功了

Flarum首页中文关键字搜索优化

MySQL 自 5.7 开始支持多语种文字全文索引。使用下面的优化,经测试能搜索到中日韩(CJK) 关键字,其他语言的搜索效果没有测试。

请注意,此方法会在一定程度上影响数据库性能,且还是会存在部分标题中的关键词无法搜索到的问题,但总体来说这个方法是目前成本最低、最稳定的方法。

1,找到数据库配置文件:我的配置文件在服务器上的路径:
/etc/my.cnf

在配置文件中加入以下内容:

2,在配置文件中加入以下内容:

[mysqld]
ngram_token_size=2

3,前往 phpMyAdmin 重建数据库索引。
分别执行以下两段:

第一次执行

USE YourFlarumDataBaseName; // 这里替换为你的 Flarum 数据库的名字
ALTER TABLE posts DROP INDEX content; // 如果你有表前缀,给 posts 加上前缀即可,下面都是如此。
CREATE FULLTEXT INDEX content ON `posts` (`content`) WITH PARSER ngram; // 注意表前缀

第二次执行:

USE YourFlarumDataBaseName; // 这里替换为你的 Flarum 数据库的名字
ALTER TABLE discussions DROP INDEX title; // 注意表前缀
CREATE FULLTEXT INDEX title ON `discussions` (`title`) WITH PARSER ngram;

4,完成!等待一会儿,强制刷新浏览器,查看效果。

可以清除下缓存