197 lines
3.4 KiB
Markdown
197 lines
3.4 KiB
Markdown
|
|
# 配置更新 Runbook
|
|||
|
|
|
|||
|
|
## 触发条件
|
|||
|
|
- 修改系统配置
|
|||
|
|
- 更新环境变量
|
|||
|
|
- 更改配置文件
|
|||
|
|
|
|||
|
|
## 警告
|
|||
|
|
|
|||
|
|
**配置更新可能影响服务行为:**
|
|||
|
|
- 某些配置需要重启服务才能生效
|
|||
|
|
- 错误的配置可能导致服务启动失败
|
|||
|
|
- 生产环境修改前请确认备份
|
|||
|
|
|
|||
|
|
## 配置位置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 配置文件
|
|||
|
|
./configs/config.yaml
|
|||
|
|
|
|||
|
|
# 环境变量文件
|
|||
|
|
.env
|
|||
|
|
|
|||
|
|
# Docker Compose 配置
|
|||
|
|
docker-compose.yml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 配置更新步骤
|
|||
|
|
|
|||
|
|
### 1. 确认当前配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 查看当前配置(测试环境)
|
|||
|
|
cat ./configs/config.yaml
|
|||
|
|
|
|||
|
|
# 查看环境变量
|
|||
|
|
cat .env | grep -v SECRET
|
|||
|
|
|
|||
|
|
# 确认服务状态
|
|||
|
|
docker compose ps
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 备份当前配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 备份配置文件
|
|||
|
|
cp ./configs/config.yaml ./configs/config.yaml.bak.$(date +%Y%m%d)
|
|||
|
|
|
|||
|
|
# 备份环境变量(不包含敏感值)
|
|||
|
|
cp .env .env.bak.$(date +%Y%m%d)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 执行配置更新
|
|||
|
|
|
|||
|
|
#### 方式一:更新环境变量(推荐)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 编辑 .env 文件
|
|||
|
|
vi .env
|
|||
|
|
|
|||
|
|
# 常用配置项:
|
|||
|
|
# JWT_SECRET - JWT 签名密钥(必须 32+ 字符)
|
|||
|
|
# DB_TYPE - 数据库类型(sqlite/postgres)
|
|||
|
|
# DB_PATH - SQLite 数据库路径
|
|||
|
|
# TOTP_ENCRYPTION_KEY - TOTP 加密密钥
|
|||
|
|
# TZ - 时区设置
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 方式二:更新配置文件
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 编辑配置文件
|
|||
|
|
vi ./configs/config.yaml
|
|||
|
|
|
|||
|
|
# 关键配置项:
|
|||
|
|
# jwt.secret - JWT 签名密钥
|
|||
|
|
# jwt.access_token_expire_minutes - Token 过期时间
|
|||
|
|
# server.port - 服务端口
|
|||
|
|
# cors.allow origins - CORS 白名单
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 验证配置更新
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 重启服务使配置生效
|
|||
|
|
docker compose restart
|
|||
|
|
|
|||
|
|
# 检查服务状态
|
|||
|
|
docker compose ps
|
|||
|
|
|
|||
|
|
# 检查健康端点
|
|||
|
|
curl http://localhost:8080/api/v1/health
|
|||
|
|
|
|||
|
|
# 检查日志无错误
|
|||
|
|
docker compose logs | grep -i error
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5. 验证功能
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 测试登录
|
|||
|
|
curl -X POST http://localhost:8080/api/v1/auth/login \
|
|||
|
|
-H "Content-Type: application/json" \
|
|||
|
|
-d '{"username":"admin","password":"your-password"}'
|
|||
|
|
|
|||
|
|
# 测试需要认证的接口
|
|||
|
|
curl http://localhost:8080/api/v1/users \
|
|||
|
|
-H "Authorization: Bearer <token>"
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 常见配置更新
|
|||
|
|
|
|||
|
|
### 1. 修改 JWT 密钥
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 生成新密钥(32+ 字符随机字符串)
|
|||
|
|
openssl rand -base64 32
|
|||
|
|
|
|||
|
|
# 更新 .env
|
|||
|
|
echo "JWT_SECRET=your-new-secret-key-here" >> .env
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker compose restart
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 修改数据库路径
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 编辑配置文件
|
|||
|
|
vi ./configs/config.yaml
|
|||
|
|
|
|||
|
|
# 修改 db.path
|
|||
|
|
# 注意:修改数据库路径后需要确保新路径可写
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker compose restart
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 修改 CORS 配置
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 编辑配置文件
|
|||
|
|
vi ./configs/config.yaml
|
|||
|
|
|
|||
|
|
# 修改 cors.allow_origins
|
|||
|
|
# 例如:["http://localhost:3000", "https://yourdomain.com"]
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker compose restart
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4. 修改端口
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 编辑 docker-compose.yml
|
|||
|
|
vi docker-compose.yml
|
|||
|
|
|
|||
|
|
# 修改 ports:
|
|||
|
|
# - "8080:8080" -> - "8090:8080"
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker compose down
|
|||
|
|
docker compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 回滚步骤
|
|||
|
|
|
|||
|
|
如果配置更新后服务异常:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 停止服务
|
|||
|
|
docker compose stop
|
|||
|
|
|
|||
|
|
# 恢复配置文件
|
|||
|
|
cp ./configs/config.yaml.bak.* ./configs/config.yaml
|
|||
|
|
|
|||
|
|
# 恢复环境变量
|
|||
|
|
cp .env.bak.* .env
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker compose restart
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 配置验证清单
|
|||
|
|
|
|||
|
|
- [ ] 配置文件语法正确
|
|||
|
|
- [ ] 环境变量已正确设置
|
|||
|
|
- [ ] 服务成功启动
|
|||
|
|
- [ ] 健康检查通过
|
|||
|
|
- [ ] 主要功能正常
|
|||
|
|
- [ ] 已通知相关人员配置变更
|
|||
|
|
|
|||
|
|
## 联系人
|
|||
|
|
|
|||
|
|
- 运维负责人:[填写]
|
|||
|
|
- 开发团队:[填写]
|