FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡

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等)
  • 在宝塔面板中:
    1. 创建新网站
    2. 创建MySQL数据库(记下数据库名、用户名和密码)
    3. 配置PHP版本(与旧服务器一致或更高)
    4. 设置伪静态(选择ThinkPHP规则)

二、迁移步骤

1. 文件迁移

方法一:直接上传压缩包

  1. 将原服务器的fastadmin_backup.tar.gz上传到新服务器

  2. 解压到网站根目录:

    tar -xzvf fastadmin_backup.tar.gz -C /www/wwwroot/新网站目录/

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

整体复制粘贴解压,

方法二:使用rsync同步(适合服务器间直接传输)

复制代码
rsync -avz -e ssh /path/to/fastadmin 新服务器IP:/www/wwwroot/新网站目录/

2. 数据库迁移

  1. fastadmin_backup.sql上传到新服务器

  2. 导入数据库:

    mysql -u新数据库用户名 -p 新数据库名 < fastadmin_backup.sql

这里其实我们用宝塔就没那么复杂

3. 配置文件调整

  1. 修改.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
  1. 修改config/database.php(如果存在):

    'hostname' => '新数据库地址',
    'database' => '新数据库名',
    'username' => '新数据库用户名',
    'password' => '新数据库密码',

因为我们是迁移的,而且并且我们的情况就是 2情况

我在想版本是不是太老了

4. 目录权限设置

复制代码
chmod -R 755 /www/wwwroot/新网站目录/runtime/
chmod -R 755 /www/wwwroot/新网站目录/public/uploads/

直接复制的没有太大问题

三、迁移后检查与测试

1. 基础检查

  1. 检查文件完整性:

    ls -l /www/wwwroot/新网站目录/

    确保关键目录存在:application, public, runtime, config等

  2. 检查数据库连接:

    php think version

    能正常显示版本号说明数据库连接正常

2. 功能测试

  1. 访问前台页面:http://新域名/
  2. 访问后台页面:http://新域名/admin
    • 使用原管理员账号登录测试
  1. 测试关键功能:
    • 内容管理(CRUD操作)
    • 文件上传功能
    • 插件功能(如果有安装插件)

3. 缓存清理

复制代码
# 清除缓存
php think clear
# 或手动删除
rm -rf runtime/cache/*
rm -rf runtime/temp/*

这一步是必须的,我手动删的

最终完成,必须先早点睡觉了

四、常见问题解决

1. 页面显示404错误

  • 检查宝塔面板伪静态设置是否正确(ThinkPHP规则)
  • 检查.htaccessnginx.conf配置

2. 数据库连接失败

  • 检查.env文件中的数据库配置

  • 确认数据库用户有远程连接权限(如果是远程数据库)

  • 测试数据库连接:

    mysql -u用户名 -p -h 主机名 数据库名

3. 文件权限问题

  • 确保运行PHP的用户(通常是www)对项目目录有读写权限

    chown -R www:www /www/wwwroot/新网站目录/

4. 插件不工作

  • 重新安装或更新插件
  • 检查插件目录权限
  • 查看runtime/log中的错误日志

五、最终优化

  1. 禁用安装入口

    mv install.php install.php.bak

  2. 更新配置

  • 检查config/app.php中的域名配置
  • 更新CDN、第三方API等配置
  1. 设置定时任务(如果有):
  • 将原服务器的定时任务迁移到新服务器
  1. 监控设置
  • 设置新服务器的错误日志监控
  • 配置性能监控

六、回滚方案

如果迁移出现问题,可以按照以下步骤回滚:

  1. 备份新服务器上的失败版本
  2. 恢复原服务器的备份文件
  3. 重新检查迁移步骤

可以完整、平滑地将FastAdmin系统迁移到新的服务器和宝塔面板环境中,确保数据不丢失、功能正常运行。