220 lines
4.0 KiB
Go
220 lines
4.0 KiB
Go
# 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有效性
|
||
|
||
### 数据库监控
|
||
- [ ] 连接数
|
||
- [ ] 查询性能
|
||
- [ ] 存储空间
|
||
- [ ] 备份状态
|
||
|
||
## 🔄 维护任务
|
||
|
||
### 日常维护
|
||
- [ ] 检查日志文件
|
||
- [ ] 监控系统资源
|
||
- [ ] 备份数据库
|
||
- [ ] 更新依赖包
|
||
|
||
### 定期维护
|
||
- [ ] 清理过期日志
|
||
- [ ] 优化数据库
|
||
- [ ] 更新安全补丁
|
||
- [ ] 性能调优
|
||
|
||
---
|
||
|
||
**部署完成后,请保存此检查清单以备后续维护使用。** |