FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
我们蜻蜓hr系统采用的后端框架就是fastadmin,因此我们平稳迁移以此为例,为什么要迁移一份是因为有甲方需要。
迁移FastAdmin系统到新服务器需要确保数据完整性和系统功能正常。以下是完整的迁移流程:
一、迁移前准备工作
1. 原服务器备份
数据库备份:
# 进入MySQL命令行
mysqldump -u用户名 -p 数据库名 > fastadmin_backup.sql
# 输入密码后会将数据库导出到当前目录的fastadmin_backup.sql文件
手动备份了一份

文件备份:
# 打包整个FastAdmin项目目录(排除不必要的缓存文件)
tar -czvf fastadmin_backup.tar.gz --exclude=runtime/* /path/to/fastadmin
2. 新服务器环境准备
- 确保新服务器满足FastAdmin运行要求:
-
- PHP 7.1+(建议7.3+)
- MySQL 5.5+
- 安装必要的PHP扩展(pdo_mysql, mbstring, gd, curl等)
- 在宝塔面板中:
-
- 创建新网站
- 创建MySQL数据库(记下数据库名、用户名和密码)
- 配置PHP版本(与旧服务器一致或更高)
- 设置伪静态(选择ThinkPHP规则)
二、迁移步骤
1. 文件迁移
方法一:直接上传压缩包
-
将原服务器的
fastadmin_backup.tar.gz
上传到新服务器 -
解压到网站根目录:
tar -xzvf fastadmin_backup.tar.gz -C /www/wwwroot/新网站目录/

新解析了域名,新建一个目录,新建了一个服务

整体复制粘贴解压,
方法二:使用rsync同步(适合服务器间直接传输)
rsync -avz -e ssh /path/to/fastadmin 新服务器IP:/www/wwwroot/新网站目录/
2. 数据库迁移
-
将
fastadmin_backup.sql
上传到新服务器 -
导入数据库:
mysql -u新数据库用户名 -p 新数据库名 < fastadmin_backup.sql
这里其实我们用宝塔就没那么复杂

3. 配置文件调整
-
修改
.env
文件:cd /www/wwwroot/新网站目录/
cp .env.example .env
nano .env
更新以下配置:
APP_DEBUG = false
[DATABASE]
TYPE = mysql
HOSTNAME = 新数据库地址(通常为127.0.0.1)
DATABASE = 新数据库名
USERNAME = 新数据库用户名
PASSWORD = 新数据库密码
HOSTPORT = 3306
-
修改
config/database.php
(如果存在):'hostname' => '新数据库地址',
'database' => '新数据库名',
'username' => '新数据库用户名',
'password' => '新数据库密码',
因为我们是迁移的,而且并且我们的情况就是 2情况

我在想版本是不是太老了
4. 目录权限设置
chmod -R 755 /www/wwwroot/新网站目录/runtime/
chmod -R 755 /www/wwwroot/新网站目录/public/uploads/
直接复制的没有太大问题
三、迁移后检查与测试
1. 基础检查
-
检查文件完整性:
ls -l /www/wwwroot/新网站目录/
确保关键目录存在:application, public, runtime, config等
-
检查数据库连接:
php think version
能正常显示版本号说明数据库连接正常
2. 功能测试
- 访问前台页面:
http://新域名/
- 访问后台页面:
http://新域名/admin
-
- 使用原管理员账号登录测试
- 测试关键功能:
-
- 内容管理(CRUD操作)
- 文件上传功能
- 插件功能(如果有安装插件)
3. 缓存清理
# 清除缓存
php think clear
# 或手动删除
rm -rf runtime/cache/*
rm -rf runtime/temp/*
这一步是必须的,我手动删的
最终完成,必须先早点睡觉了

四、常见问题解决
1. 页面显示404错误
- 检查宝塔面板伪静态设置是否正确(ThinkPHP规则)
- 检查
.htaccess
或nginx.conf
配置
2. 数据库连接失败
-
检查
.env
文件中的数据库配置 -
确认数据库用户有远程连接权限(如果是远程数据库)
-
测试数据库连接:
mysql -u用户名 -p -h 主机名 数据库名
3. 文件权限问题
-
确保运行PHP的用户(通常是www)对项目目录有读写权限
chown -R www:www /www/wwwroot/新网站目录/
4. 插件不工作
- 重新安装或更新插件
- 检查插件目录权限
- 查看
runtime/log
中的错误日志
五、最终优化
-
禁用安装入口:
mv install.php install.php.bak
-
更新配置:
- 检查
config/app.php
中的域名配置 - 更新CDN、第三方API等配置
- 设置定时任务(如果有):
- 将原服务器的定时任务迁移到新服务器
- 监控设置:
- 设置新服务器的错误日志监控
- 配置性能监控
六、回滚方案
如果迁移出现问题,可以按照以下步骤回滚:
- 备份新服务器上的失败版本
- 恢复原服务器的备份文件
- 重新检查迁移步骤
可以完整、平滑地将FastAdmin系统迁移到新的服务器和宝塔面板环境中,确保数据不丢失、功能正常运行。