Files
nl_cms-api/DEPLOYMENT_CHECKLIST.md
2025-07-29 12:45:07 +08:00

4.0 KiB
Raw Blame History

CMS API 2.0 部署检查清单

部署前检查

1. 环境准备

  • Go 1.21+ 已安装
  • MySQL 8.0+ 已安装并运行
  • Git 已安装(如需从仓库拉取)

2. 数据库准备

  • 创建数据库用户(如需要)
  • 设置数据库密码
  • 确认数据库连接权限
  • 执行数据库初始化脚本

3. 项目文件

  • 下载/克隆项目代码
  • 检查所有必要文件是否存在
  • 配置文件权限正确

🚀 部署步骤

步骤1数据库初始化

# 1. 连接MySQL
mysql -u root -p

# 2. 执行初始化脚本
mysql -u root -p < database_design_new.sql

# 3. 验证表创建
mysql -u root -p -e "USE cc_cms_gf; SHOW TABLES;"

步骤2配置文件检查

# 检查配置文件
cat config/config.yaml

# 确认以下配置:
# - 数据库连接信息
# - JWT签名密钥
# - 服务端口
# - 日志配置

步骤3依赖安装

# 安装Go依赖
go mod tidy

# 验证依赖
go mod verify

步骤4启动服务

# 方式1使用启动脚本
./start_new_server.ps1

# 方式2直接启动
go run main_new.go

# 方式3编译后启动
go build -o cms-api main_new.go
./cms-api

🧪 部署验证

1. 基础功能测试

# 运行测试脚本
./test_new_api.ps1

# 或手动测试
curl http://localhost:8080/
curl http://localhost:8080/test/db

2. API接口测试

# 测试登录
curl -X POST http://localhost:8080/api/public/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

# 测试认证接口需要替换TOKEN
curl -X GET http://localhost:8080/api/user/profile \
  -H "Authorization: Bearer YOUR_TOKEN"

3. 数据库连接测试

# 检查数据库表
mysql -u root -p -e "
USE cc_cms_gf;
SELECT COUNT(*) as user_count FROM users;
SELECT COUNT(*) as config_count FROM system_configs;
"

🔧 配置优化

生产环境配置

# config/config.yaml
server:
  address: ":8080"
  
database:
  default:
    host: "127.0.0.1"
    port: "3306"
    user: "cms_user"        # 建议使用专用用户
    pass: "strong_password" # 使用强密码
    name: "cc_cms_gf"
    maxIdle: 10
    maxOpen: 100
    
jwt:
  signingKey: "your_secure_signing_key_here" # 更换为安全的密钥
  expire: 7200

logger:
  level: "info"  # 生产环境建议使用info级别
  stdout: false  # 生产环境建议关闭控制台输出

安全配置

  • 更换JWT签名密钥
  • 设置强数据库密码
  • 配置防火墙规则
  • 启用HTTPS如需要
  • 设置访问日志

🚨 故障排查

常见问题及解决方案

1. 数据库连接失败

# 检查MySQL服务状态
systemctl status mysql  # Linux
net start mysql         # Windows

# 检查端口占用
netstat -an | grep 3306

# 测试数据库连接
mysql -u root -p -h 127.0.0.1 -P 3306

2. 端口占用

# 检查端口占用
netstat -an | grep 8080  # Linux
netstat -an | findstr 8080  # Windows

# 杀死占用进程
kill -9 PID  # Linux
taskkill /PID PID /F  # Windows

3. 权限问题

# 检查文件权限
ls -la config/config.yaml

# 修复权限
chmod 644 config/config.yaml

4. 依赖问题

# 清理模块缓存
go clean -modcache

# 重新下载依赖
go mod download
go mod tidy

📊 监控检查

服务监控

  • 服务进程状态
  • 内存使用情况
  • CPU使用情况
  • 磁盘空间

应用监控

  • API响应时间
  • 错误日志
  • 数据库连接池状态
  • JWT Token有效性

数据库监控

  • 连接数
  • 查询性能
  • 存储空间
  • 备份状态

🔄 维护任务

日常维护

  • 检查日志文件
  • 监控系统资源
  • 备份数据库
  • 更新依赖包

定期维护

  • 清理过期日志
  • 优化数据库
  • 更新安全补丁
  • 性能调优

部署完成后,请保存此检查清单以备后续维护使用。