docs: 合并部署文档 - 创建01-部署指南、02-故障排查、03-版本记录
This commit is contained in:
@@ -0,0 +1,184 @@
|
|||||||
|
# 智能IT服务台 - 部署指南
|
||||||
|
|
||||||
|
> **最后更新**:2026-07-05
|
||||||
|
> **目标服务器**:`10.90.5.110`
|
||||||
|
> **域名**:`itsupport.servyou.com.cn`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 目录
|
||||||
|
|
||||||
|
1. [部署流程](#一部署流程)
|
||||||
|
2. [蓝绿部署](#二蓝绿部署)
|
||||||
|
3. [故障排查](#三故障排查)
|
||||||
|
4. [回滚方案](#四回滚方案)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、部署流程
|
||||||
|
|
||||||
|
### 1.1 前置条件
|
||||||
|
|
||||||
|
| 条件 | 状态 | 验证命令 |
|
||||||
|
|------|------|---------|
|
||||||
|
| Linux 服务器 10.90.5.110 | ✅ 已确认 | - |
|
||||||
|
| Docker 已安装 | ✅ 已确认 | `docker --version` |
|
||||||
|
| 域名解析 | ✅ 已配置 | `nslookup itsupport.servyou.com.cn` |
|
||||||
|
| 堡垒机可访问 | ✅ 已配置 | `ssh -p 2222 user@10.212.189.210` |
|
||||||
|
|
||||||
|
### 1.2 快速部署命令
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 进入部署目录
|
||||||
|
cd /opt/wecom-it-desk
|
||||||
|
|
||||||
|
# 2. 拉取最新代码(可选)
|
||||||
|
git pull origin main
|
||||||
|
|
||||||
|
# 3. 构建并启动
|
||||||
|
docker compose up -d --build
|
||||||
|
|
||||||
|
# 4. 检查状态
|
||||||
|
docker ps
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.3 一键部署(生产环境)
|
||||||
|
|
||||||
|
详见 [10-一键部署操作包-v0.7.0.md](./10-一键部署操作包-v0.7.0.md)
|
||||||
|
|
||||||
|
### 1.4 部署后验证
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查容器状态
|
||||||
|
docker ps
|
||||||
|
|
||||||
|
# 检查 API 健康
|
||||||
|
curl https://itsupport.servyou.com.cn/api/health
|
||||||
|
|
||||||
|
# 检查日志
|
||||||
|
docker logs wecom_it_backend --tail 50
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、蓝绿部署
|
||||||
|
|
||||||
|
### 2.1 什么是蓝绿部署
|
||||||
|
|
||||||
|
蓝绿部署通过维护两套环境(Blue/Green)实现零停机部署和快速回滚。
|
||||||
|
|
||||||
|
### 2.2 部署 Green 环境
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /opt/wecom-it-desk
|
||||||
|
|
||||||
|
# 构建并启动 Green 环境
|
||||||
|
docker-compose -f docker-compose-green.yml up -d
|
||||||
|
|
||||||
|
# 验证 Green 环境
|
||||||
|
curl http://localhost:5002/health
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.3 切换流量
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 切换到 Green
|
||||||
|
sed -i 's/wecom_it_backend:8000/wecom_it_backend_green:8000/' /opt/wecom-it-desk/nginx/nginx.conf
|
||||||
|
docker restart wecom_it_nginx
|
||||||
|
|
||||||
|
# 切换回 Blue(回滚)
|
||||||
|
sed -i 's/wecom_it_backend_green:8000/wecom_it_backend:8000/' /opt/wecom-it-desk/nginx/nginx.conf
|
||||||
|
docker restart wecom_it_nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.4 端口说明
|
||||||
|
|
||||||
|
| 端口 | 服务 |
|
||||||
|
|------|------|
|
||||||
|
| 80/443 | Nginx (生产入口) |
|
||||||
|
| 5002 | Backend (Green) |
|
||||||
|
| 5080 | Nginx (Green 测试) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、故障排查
|
||||||
|
|
||||||
|
### 3.1 常见问题
|
||||||
|
|
||||||
|
#### 502 Bad Gateway
|
||||||
|
|
||||||
|
1. 检查后端容器是否运行
|
||||||
|
```bash
|
||||||
|
docker ps | grep backend
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 检查后端日志
|
||||||
|
```bash
|
||||||
|
docker logs wecom_it_backend --tail 100
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 重启后端
|
||||||
|
```bash
|
||||||
|
docker restart wecom_it_backend
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 500 错误
|
||||||
|
|
||||||
|
详见 [快速诊断-500-错误.md](./快速诊断-500-错误.md)
|
||||||
|
|
||||||
|
#### 通讯链路问题
|
||||||
|
|
||||||
|
详见 [通讯链路诊断方案.md](./通讯链路诊断方案.md)
|
||||||
|
|
||||||
|
### 3.2 健康检查
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 后端
|
||||||
|
curl http://localhost:8000/health
|
||||||
|
|
||||||
|
# Nginx
|
||||||
|
curl http://localhost/api/health
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 四、回滚方案
|
||||||
|
|
||||||
|
### 4.1 紧急回滚
|
||||||
|
|
||||||
|
如果部署后出现严重问题,立即执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 停止新版本容器
|
||||||
|
docker stop wecom_it_backend_green
|
||||||
|
|
||||||
|
# 2. 切换回原环境
|
||||||
|
sed -i 's/wecom_it_backend_green:8000/wecom_it_backend:8000/' /opt/wecom-it-desk/nginx/nginx.conf
|
||||||
|
docker restart wecom_it_nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 版本回滚
|
||||||
|
|
||||||
|
如需回滚到之前版本:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 停止当前版本
|
||||||
|
docker stop wecom_it_backend
|
||||||
|
|
||||||
|
# 2. 重新构建指定版本
|
||||||
|
git checkout <版本标签>
|
||||||
|
docker build -t wecom-it-desk-backend:<版本> ./backend
|
||||||
|
|
||||||
|
# 3. 启动
|
||||||
|
docker run -d --name wecom_it_backend wecom-it-desk-backend:<版本>
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 相关文档
|
||||||
|
|
||||||
|
- [10-一键部署操作包-v0.7.0.md](./10-一键部署操作包-v0.7.0.md)
|
||||||
|
- [蓝绿部署指南.md](./蓝绿部署指南.md)
|
||||||
|
- [快速诊断-500-错误.md](./快速诊断-500-错误.md)
|
||||||
|
- [通讯链路诊断方案.md](./通讯链路诊断方案.md)
|
||||||
|
- [12-问题修复记录-20260705.md](./12-问题修复记录-20260705.md)
|
||||||
@@ -0,0 +1,205 @@
|
|||||||
|
# 智能IT服务台 - 故障排查手册
|
||||||
|
|
||||||
|
> **最后更新**:2026-07-05
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 目录
|
||||||
|
|
||||||
|
1. [常见错误码](#一常见错误码)
|
||||||
|
2. [网络问题](#二网络问题)
|
||||||
|
3. [服务问题](#三服务问题)
|
||||||
|
4. [数据问题](#四数据问题)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、常见错误码
|
||||||
|
|
||||||
|
### 1.1 502 Bad Gateway
|
||||||
|
|
||||||
|
**原因**:Nginx 无法连接到后端服务
|
||||||
|
|
||||||
|
**排查步骤**:
|
||||||
|
|
||||||
|
1. 检查后端容器状态
|
||||||
|
```bash
|
||||||
|
docker ps | grep backend
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 检查后端是否健康
|
||||||
|
```bash
|
||||||
|
docker exec wecom_it_backend curl localhost:8000/health
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 检查后端日志
|
||||||
|
```bash
|
||||||
|
docker logs wecom_it_backend --tail 100
|
||||||
|
```
|
||||||
|
|
||||||
|
4. 检查 Nginx upstream 配置
|
||||||
|
```bash
|
||||||
|
grep -A2 'upstream' /opt/wecom-it-desk/nginx/nginx.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
**解决方案**:
|
||||||
|
|
||||||
|
- 重启后端:`docker restart wecom_it_backend`
|
||||||
|
- 检查端口:`docker port wecom_it_backend`
|
||||||
|
- 检查网络:`docker network inspect wecom-it-desk_it-desk-internal`
|
||||||
|
|
||||||
|
### 1.2 500 Internal Server Error
|
||||||
|
|
||||||
|
**原因**:后端代码错误或异常
|
||||||
|
|
||||||
|
**排查步骤**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看后端错误日志
|
||||||
|
docker logs wecom_it_backend --tail 200 | grep -i error
|
||||||
|
|
||||||
|
# 查看具体请求错误
|
||||||
|
docker logs wecom_it_backend --tail 500
|
||||||
|
```
|
||||||
|
|
||||||
|
详见 [快速诊断-500-错误.md](./快速诊断-500-错误.md)
|
||||||
|
|
||||||
|
### 1.3 503 Service Unavailable
|
||||||
|
|
||||||
|
**原因**:服务过载或维护中
|
||||||
|
|
||||||
|
**排查步骤**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查容器资源
|
||||||
|
docker stats
|
||||||
|
|
||||||
|
# 检查健康检查状态
|
||||||
|
docker inspect wecom_it_backend | grep -A10 Health
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.4 403 Forbidden
|
||||||
|
|
||||||
|
**原因**:IP 白名单限制
|
||||||
|
|
||||||
|
**排查步骤**:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查 Nginx 配置中的白名单
|
||||||
|
grep 'allow' /opt/wecom-it-desk/nginx/nginx.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、网络问题
|
||||||
|
|
||||||
|
### 2.1 通讯链路诊断
|
||||||
|
|
||||||
|
详见 [通讯链路诊断方案.md](./通讯链路诊断方案.md)
|
||||||
|
|
||||||
|
### 2.2 DNS 解析问题
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 测试 DNS 解析
|
||||||
|
nslookup itsupport.servyou.com.cn
|
||||||
|
|
||||||
|
# 测试内网解析
|
||||||
|
nslookup itsupport.servyou.com.cn 10.212.1.1
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.3 端口连通性
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 测试端口开放
|
||||||
|
nc -zv 10.90.5.110 80
|
||||||
|
nc -zv 10.90.5.110 443
|
||||||
|
|
||||||
|
# 测试内部网络
|
||||||
|
docker exec wecom_it_nginx curl http://wecom_it_backend:8000/health
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、服务问题
|
||||||
|
|
||||||
|
### 3.1 容器启动失败
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 查看容器日志
|
||||||
|
docker logs <容器名>
|
||||||
|
|
||||||
|
# 查看详细错误
|
||||||
|
docker events --since '10m'
|
||||||
|
|
||||||
|
# 检查资源限制
|
||||||
|
docker inspect <容器名> | grep -A5 Memory
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.2 数据库连接失败
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查 PostgreSQL
|
||||||
|
docker exec wecom_it_postgres pg_isready
|
||||||
|
|
||||||
|
# 检查 Redis
|
||||||
|
docker exec wecom_it_redis redis-cli ping
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3.3 WebSocket 连接失败
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查 WebSocket 配置
|
||||||
|
grep -r 'websocket' /opt/wecom-it-desk/nginx/nginx.conf
|
||||||
|
|
||||||
|
# 检查后端 WebSocket 日志
|
||||||
|
docker logs wecom_it_backend | grep -i websocket
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 四、数据问题
|
||||||
|
|
||||||
|
### 4.1 数据不一致
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查数据库连接
|
||||||
|
docker exec wecom_it_backend python -c "from app.database import get_db; print('OK')"
|
||||||
|
|
||||||
|
# 检查 Redis 连接
|
||||||
|
docker exec wecom_it_backend python -c "import redis; r = redis.from_url('redis://:password@redis:6379/0'); print(r.ping())"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 磁盘空间不足
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 检查磁盘
|
||||||
|
df -h
|
||||||
|
|
||||||
|
# 检查 Docker 磁盘使用
|
||||||
|
docker system df
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 快速命令汇总
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 一键健康检查
|
||||||
|
docker ps --format '{{.Names}}\t{{.Status}}'
|
||||||
|
|
||||||
|
# 查看所有日志
|
||||||
|
docker logs -f wecom_it_backend
|
||||||
|
|
||||||
|
# 重启所有服务
|
||||||
|
docker compose restart
|
||||||
|
|
||||||
|
# 查看实时错误
|
||||||
|
docker logs --tail 100 -f wecom_it_backend 2>&1 | grep -i error
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 相关文档
|
||||||
|
|
||||||
|
- [快速诊断-500-错误.md](./快速诊断-500-错误.md)
|
||||||
|
- [通讯链路诊断方案.md](./通讯链路诊断方案.md)
|
||||||
|
- [WAF转发配置异常排查协助.md](./WAF转发配置异常排查协助.md)
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
# 智能IT服务台 - 版本记录
|
||||||
|
|
||||||
|
> **最后更新**:2026-07-05
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 版本历史
|
||||||
|
|
||||||
|
### v0.7.1 (2026-06-23)
|
||||||
|
|
||||||
|
**更新内容**:
|
||||||
|
- OTP 二次验证功能上线
|
||||||
|
- 扫码登录优化
|
||||||
|
- 安全性增强
|
||||||
|
|
||||||
|
**部署包**:[10-一键部署操作包-v0.7.0.md](./10-一键部署操作包-v0.7.0.md)
|
||||||
|
|
||||||
|
**相关文档**:
|
||||||
|
- [07-扫码登录OTP部署指南-v0.7.0.md](./07-扫码登录OTP部署指南-v0.7.0.md)
|
||||||
|
- [06-OTP二次验证实现.md](./06-OTP二次验证实现.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### v0.7.0 (2026-06-16)
|
||||||
|
|
||||||
|
**更新内容**:
|
||||||
|
- 消息推送策略优化
|
||||||
|
- 超时提醒功能
|
||||||
|
- 头像同步功能
|
||||||
|
|
||||||
|
**部署包**:[一键部署操作包-v0.7.0.md](./一键部署操作包-v0.7.0.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### v0.6.x (历史版本)
|
||||||
|
|
||||||
|
详见 [03-RELEASE-NOTES-v0.7.1-20260623.md](./03-RELEASE-NOTES-v0.7.1-20260623.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 问题修复记录
|
||||||
|
|
||||||
|
### 2026-07-05
|
||||||
|
|
||||||
|
- Nginx upstream 配置修复
|
||||||
|
- 蓝绿部署流程完善
|
||||||
|
|
||||||
|
详见 [12-问题修复记录-20260705.md](./12-问题修复记录-20260705.md)
|
||||||
|
|
||||||
|
### 2026-06-13
|
||||||
|
|
||||||
|
- H5 用户端报错修复
|
||||||
|
- 后端启动问题修复
|
||||||
|
|
||||||
|
详见 [04-部署修复记录-20260613.md](./04-部署修复记录-20260613.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 版本号规则
|
||||||
|
|
||||||
|
| 位置 | 规则 | 示例 |
|
||||||
|
|------|------|------|
|
||||||
|
| 前端 | v主.次.修订 | v1.5.0 |
|
||||||
|
| 后端 | v主.次.修订 | v0.7.1 |
|
||||||
|
| 部署包 | v主.次.发布日期 | v0.7.0-20260623 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 升级路径
|
||||||
|
|
||||||
|
### 从 v0.6.x 升级到 v0.7.x
|
||||||
|
|
||||||
|
1. 备份数据
|
||||||
|
2. 执行一键部署
|
||||||
|
3. 验证功能
|
||||||
|
4. 监控日志
|
||||||
|
|
||||||
|
### 版本回滚
|
||||||
|
|
||||||
|
详见 [01-部署指南.md](./01-部署指南.md) 中的回滚方案
|
||||||
Reference in New Issue
Block a user