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