6.9 KiB
6.9 KiB
存储功能部署检查清单
部署前准备
1. 环境检查
- Go 1.17+ 已安装
- MySQL 5.7+ 已安装并运行
- Node.js 14+ 已安装(前端)
- 网络连接正常
2. 依赖安装
# 后端依赖
cd go
go mod download
go mod tidy
# 前端依赖(如需要)
cd platform
npm install
3. 数据库迁移
# 备份数据库
mysqldump -u root -p your_database > backup_$(date +%Y%m%d).sql
# 执行迁移
mysql -u root -p your_database < go/migrations/add_storage_config_table.sql
# 验证表创建
mysql -u root -p your_database -e "SHOW TABLES LIKE 'yz_system_storage_config';"
mysql -u root -p your_database -e "DESC yz_system_storage_config;"
部署步骤
1. 后端部署
cd go
# 编译
go build -o server main.go
# 或使用bee工具
bee run
2. 前端部署
cd platform
# 开发环境
npm run dev
# 生产环境
npm run build
3. 配置验证
访问:http://localhost:8080/platform/storageConfig
预期响应:
{
"code": 200,
"msg": "success",
"data": {
"storage_type": "local",
...
}
}
功能测试
1. 存储配置测试
测试本地存储
- 登录平台管理后台
- 进入:系统设置 → 平台设置 → 存储配置
- 选择"本地存储"
- 点击"保存设置"
- 验证保存成功
测试七牛云存储
- 准备七牛云账号和配置信息
- 选择"七牛云存储"
- 填写配置:
- AccessKey:
your_access_key - SecretKey:
your_secret_key - Bucket:
your_bucket - CDN域名:
https://cdn.example.com - 存储区域:
z0
- AccessKey:
- 点击"保存设置"
- 验证保存成功
2. 文件上传测试
本地存储上传
- 配置为本地存储
- 上传测试文件
- 检查文件是否保存到
uploads/目录 - 验证文件URL格式:
/uploads/2024/01/01/xxx.jpg - 访问文件URL,确认可以访问
七牛云上传
- 配置为七牛云存储
- 上传测试文件
- 检查数据库记录
- 验证文件URL格式:
https://cdn.example.com/2024/01/01/xxx.jpg - 访问文件URL,确认可以访问
3. 文件迁移测试
- 准备一些本地存储的文件
- 配置七牛云存储
- 调用迁移API:
curl -X POST http://localhost:8080/platform/storage/migrateToQiniu - 检查迁移进度和结果
- 验证文件URL已更新
- 访问新URL,确认文件可访问
性能测试
1. 上传性能
# 测试单文件上传
time curl -F "file=@test.jpg" http://localhost:8080/platform/uploadfile
# 测试批量上传
for i in {1..10}; do
curl -F "file=@test$i.jpg" http://localhost:8080/platform/uploadfile &
done
wait
2. 迁移性能
- 准备100个测试文件
- 执行迁移
- 记录总耗时
- 计算平均速度
监控检查
1. 日志检查
# 查看服务日志
tail -f logs/server.log
# 查看错误日志
grep ERROR logs/server.log
# 查看上传日志
grep "文件上传" logs/server.log
2. 数据库检查
-- 检查存储配置
SELECT * FROM yz_system_storage_config;
-- 检查文件记录
SELECT COUNT(*) FROM yz_system_files;
-- 检查最近上传的文件
SELECT * FROM yz_system_files ORDER BY create_time DESC LIMIT 10;
3. 存储空间检查
# 本地存储空间
du -sh uploads/
# 七牛云存储空间(在七牛云控制台查看)
安全检查
1. 配置安全
- SecretKey 不在日志中输出
- 配置文件权限正确(600)
- 数据库连接使用强密码
- API接口有认证保护
2. 文件安全
- 文件大小限制生效(200MB)
- 文件类型验证正常
- 恶意文件上传被拦截
- 文件访问权限正确
3. 网络安全
- HTTPS配置正确
- CDN域名已备案
- 防火墙规则正确
- 跨域配置正确
回滚计划
如果部署失败
-
停止服务
pkill -f server -
恢复数据库
mysql -u root -p your_database < backup_YYYYMMDD.sql -
恢复代码
git checkout previous_version -
重启服务
cd go bee run
常见问题
问题1: 依赖安装失败
解决方法:
# 清理缓存
go clean -modcache
# 使用代理
export GOPROXY=https://goproxy.cn,direct
# 重新安装
go mod download
问题2: 数据库迁移失败
解决方法:
# 检查表是否已存在
mysql -u root -p your_database -e "SHOW TABLES LIKE 'yz_system_storage_config';"
# 如果存在,先删除
mysql -u root -p your_database -e "DROP TABLE IF EXISTS yz_system_storage_config;"
# 重新执行迁移
mysql -u root -p your_database < go/migrations/add_storage_config_table.sql
问题3: 七牛云上传失败
检查项:
- AccessKey 和 SecretKey 是否正确
- Bucket 是否存在
- 存储区域是否匹配
- 网络连接是否正常
测试连接:
curl -I https://your-cdn-domain.com
问题4: 文件访问404
本地存储:
# 检查文件是否存在
ls -la uploads/2024/01/01/
# 检查Nginx配置
nginx -t
# 检查文件权限
chmod 644 uploads/2024/01/01/*
七牛云:
- 检查CDN域名是否正确
- 检查文件是否上传成功
- 检查空间访问权限
部署完成确认
功能确认
- 存储配置页面正常显示
- 本地存储配置保存成功
- 七牛云配置保存成功
- 本地存储上传正常
- 七牛云上传正常
- 文件访问正常
- 文件迁移功能正常
- 错误处理正常
- 日志记录正常
性能确认
- 上传速度正常(< 5秒/10MB)
- 访问速度正常(< 1秒)
- 迁移速度正常(> 10文件/秒)
- 内存使用正常(< 500MB)
- CPU使用正常(< 50%)
安全确认
- 认证保护生效
- 文件大小限制生效
- 文件类型验证生效
- 敏感信息不泄露
- 日志不包含密钥
上线通知
通知内容
【系统升级通知】
尊敬的用户:
系统已完成存储功能升级,新增以下功能:
1. 支持七牛云存储
2. 支持存储配置管理
3. 支持文件迁移功能
升级后的优势:
- 更快的访问速度(CDN加速)
- 更高的可靠性(云端备份)
- 更低的成本(按需付费)
如有问题,请联系技术支持。
感谢您的支持!
后续优化
短期优化(1周内)
- 添加上传进度显示
- 添加批量上传功能
- 优化错误提示
- 添加使用统计
中期优化(1个月内)
- 添加图片压缩
- 添加缩略图生成
- 添加水印功能
- 添加访问统计
长期优化(3个月内)
- 支持更多存储服务
- 添加文件管理界面
- 添加自动备份
- 添加CDN配置
部署完成后,请在此签名确认:
- 部署人员:__________
- 部署时间:__________
- 测试人员:__________
- 测试时间:__________
- 审核人员:__________
- 审核时间:__________