当前位置: 首页 > news >正文

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等
  1. 检查数据库连接:
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
  1. 更新配置
  • 检查config/app.php中的域名配置
  • 更新CDN、第三方API等配置
  1. 设置定时任务(如果有):
  • 将原服务器的定时任务迁移到新服务器
  1. 监控设置
  • 设置新服务器的错误日志监控
  • 配置性能监控

六、回滚方案

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

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

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

http://www.xdnf.cn/news/1139113.html

相关文章:

  • 爬虫小知识
  • 【Lua】题目小练2
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘django’问题
  • vue-cli 模式下安装 uni-ui
  • JAVA面试宝典 -《Kafka 高吞吐量架构实战:原理解析与性能优化全攻略》
  • 图片上传实现
  • 多方案对比分析:后端数据加密策略及实践
  • Redis7 底层数据结构解析
  • Linux驱动14 --- 平台设备总线
  • JPA 与 MyBatis-Plus 数据库自增主键实现方案
  • GraphQL的N+1问题如何被DataLoader巧妙化解?
  • 【人工智能99问】梯度消失、梯度爆炸的定义、后果及规避手段?(7/99)
  • 使用位运算优化 Vue.js 应用:高效状态管理技巧
  • deep learning(李宏毅)--(六)--loss
  • 虚拟化测试工具Parasoft Virtualize如何为汽车企业提供仿真测试?
  • Helm-k8s包管理工具(一)核心概念、helm工作目录
  • 【Servo】伺服驱动器扫频功能方案文档
  • 有痛呻吟!!!
  • Redis面试相关问题总结
  • 离散与组合数学 杂记
  • 学习设计模式《十八》——备忘录模式
  • AI安全威胁之MCP Server投毒攻击实践
  • 深入理解进程等待:wait的简化与waitpid的灵活性
  • centos中新增硬盘挂载文件夹
  • 【FFmpeg 快速入门】本地播放器 项目
  • 林曦词典|文质彬彬
  • 物联网主机在化工园区安全风险智能化管控平台中的应用
  • mongodb 入门级别操作
  • 搞清MVCC
  • 优化 CSS 性能