go-platform/docs/DEPLOYMENT_CHECKLIST.md
2026-04-09 16:26:38 +08:00

393 lines
6.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 存储功能部署检查清单
## 部署前准备
### 1. 环境检查
- [ ] Go 1.17+ 已安装
- [ ] MySQL 5.7+ 已安装并运行
- [ ] Node.js 14+ 已安装(前端)
- [ ] 网络连接正常
### 2. 依赖安装
```bash
# 后端依赖
cd go
go mod download
go mod tidy
# 前端依赖(如需要)
cd platform
npm install
```
### 3. 数据库迁移
```bash
# 备份数据库
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. 后端部署
```bash
cd go
# 编译
go build -o server main.go
# 或使用bee工具
bee run
```
### 2. 前端部署
```bash
cd platform
# 开发环境
npm run dev
# 生产环境
npm run build
```
### 3. 配置验证
访问http://localhost:8080/platform/storageConfig
预期响应:
```json
{
"code": 200,
"msg": "success",
"data": {
"storage_type": "local",
...
}
}
```
## 功能测试
### 1. 存储配置测试
#### 测试本地存储
1. 登录平台管理后台
2. 进入:系统设置 → 平台设置 → 存储配置
3. 选择"本地存储"
4. 点击"保存设置"
5. 验证保存成功
#### 测试七牛云存储
1. 准备七牛云账号和配置信息
2. 选择"七牛云存储"
3. 填写配置:
- AccessKey: `your_access_key`
- SecretKey: `your_secret_key`
- Bucket: `your_bucket`
- CDN域名: `https://cdn.example.com`
- 存储区域: `z0`
4. 点击"保存设置"
5. 验证保存成功
### 2. 文件上传测试
#### 本地存储上传
1. 配置为本地存储
2. 上传测试文件
3. 检查文件是否保存到 `uploads/` 目录
4. 验证文件URL格式`/uploads/2024/01/01/xxx.jpg`
5. 访问文件URL确认可以访问
#### 七牛云上传
1. 配置为七牛云存储
2. 上传测试文件
3. 检查数据库记录
4. 验证文件URL格式`https://cdn.example.com/2024/01/01/xxx.jpg`
5. 访问文件URL确认可以访问
### 3. 文件迁移测试
1. 准备一些本地存储的文件
2. 配置七牛云存储
3. 调用迁移API
```bash
curl -X POST http://localhost:8080/platform/storage/migrateToQiniu
```
4. 检查迁移进度和结果
5. 验证文件URL已更新
6. 访问新URL确认文件可访问
## 性能测试
### 1. 上传性能
```bash
# 测试单文件上传
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. 日志检查
```bash
# 查看服务日志
tail -f logs/server.log
# 查看错误日志
grep ERROR logs/server.log
# 查看上传日志
grep "文件上传" logs/server.log
```
### 2. 数据库检查
```sql
-- 检查存储配置
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. 存储空间检查
```bash
# 本地存储空间
du -sh uploads/
# 七牛云存储空间(在七牛云控制台查看)
```
## 安全检查
### 1. 配置安全
- [ ] SecretKey 不在日志中输出
- [ ] 配置文件权限正确600
- [ ] 数据库连接使用强密码
- [ ] API接口有认证保护
### 2. 文件安全
- [ ] 文件大小限制生效200MB
- [ ] 文件类型验证正常
- [ ] 恶意文件上传被拦截
- [ ] 文件访问权限正确
### 3. 网络安全
- [ ] HTTPS配置正确
- [ ] CDN域名已备案
- [ ] 防火墙规则正确
- [ ] 跨域配置正确
## 回滚计划
### 如果部署失败
1. 停止服务
```bash
pkill -f server
```
2. 恢复数据库
```bash
mysql -u root -p your_database < backup_YYYYMMDD.sql
```
3. 恢复代码
```bash
git checkout previous_version
```
4. 重启服务
```bash
cd go
bee run
```
## 常见问题
### 问题1: 依赖安装失败
**解决方法:**
```bash
# 清理缓存
go clean -modcache
# 使用代理
export GOPROXY=https://goproxy.cn,direct
# 重新安装
go mod download
```
### 问题2: 数据库迁移失败
**解决方法:**
```bash
# 检查表是否已存在
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 是否存在
- 存储区域是否匹配
- 网络连接是否正常
**测试连接:**
```bash
curl -I https://your-cdn-domain.com
```
### 问题4: 文件访问404
**本地存储:**
```bash
# 检查文件是否存在
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配置
---
**部署完成后,请在此签名确认:**
- 部署人员__________
- 部署时间__________
- 测试人员__________
- 测试时间__________
- 审核人员__________
- 审核时间__________