# CMS API 2.0 部署检查清单 ## ✅ 部署前检查 ### 1. 环境准备 - [ ] Go 1.21+ 已安装 - [ ] MySQL 8.0+ 已安装并运行 - [ ] Git 已安装(如需从仓库拉取) ### 2. 数据库准备 - [ ] 创建数据库用户(如需要) - [ ] 设置数据库密码 - [ ] 确认数据库连接权限 - [ ] 执行数据库初始化脚本 ### 3. 项目文件 - [ ] 下载/克隆项目代码 - [ ] 检查所有必要文件是否存在 - [ ] 配置文件权限正确 ## 🚀 部署步骤 ### 步骤1:数据库初始化 ```bash # 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:配置文件检查 ```bash # 检查配置文件 cat config/config.yaml # 确认以下配置: # - 数据库连接信息 # - JWT签名密钥 # - 服务端口 # - 日志配置 ``` ### 步骤3:依赖安装 ```bash # 安装Go依赖 go mod tidy # 验证依赖 go mod verify ``` ### 步骤4:启动服务 ```bash # 方式1:使用启动脚本 ./start_new_server.ps1 # 方式2:直接启动 go run main_new.go # 方式3:编译后启动 go build -o cms-api main_new.go ./cms-api ``` ## 🧪 部署验证 ### 1. 基础功能测试 ```bash # 运行测试脚本 ./test_new_api.ps1 # 或手动测试 curl http://localhost:8080/ curl http://localhost:8080/test/db ``` ### 2. API接口测试 ```bash # 测试登录 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. 数据库连接测试 ```bash # 检查数据库表 mysql -u root -p -e " USE cc_cms_gf; SELECT COUNT(*) as user_count FROM users; SELECT COUNT(*) as config_count FROM system_configs; " ``` ## 🔧 配置优化 ### 生产环境配置 ```yaml # 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. 数据库连接失败 ```bash # 检查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. 端口占用 ```bash # 检查端口占用 netstat -an | grep 8080 # Linux netstat -an | findstr 8080 # Windows # 杀死占用进程 kill -9 PID # Linux taskkill /PID PID /F # Windows ``` #### 3. 权限问题 ```bash # 检查文件权限 ls -la config/config.yaml # 修复权限 chmod 644 config/config.yaml ``` #### 4. 依赖问题 ```bash # 清理模块缓存 go clean -modcache # 重新下载依赖 go mod download go mod tidy ``` ## 📊 监控检查 ### 服务监控 - [ ] 服务进程状态 - [ ] 内存使用情况 - [ ] CPU使用情况 - [ ] 磁盘空间 ### 应用监控 - [ ] API响应时间 - [ ] 错误日志 - [ ] 数据库连接池状态 - [ ] JWT Token有效性 ### 数据库监控 - [ ] 连接数 - [ ] 查询性能 - [ ] 存储空间 - [ ] 备份状态 ## 🔄 维护任务 ### 日常维护 - [ ] 检查日志文件 - [ ] 监控系统资源 - [ ] 备份数据库 - [ ] 更新依赖包 ### 定期维护 - [ ] 清理过期日志 - [ ] 优化数据库 - [ ] 更新安全补丁 - [ ] 性能调优 --- **部署完成后,请保存此检查清单以备后续维护使用。**