279 lines
6.2 KiB
Markdown
279 lines
6.2 KiB
Markdown
|
|
# ✅ 最终配置总结
|
|||
|
|
|
|||
|
|
## 🎯 您的部署配置
|
|||
|
|
|
|||
|
|
根据您的需求,已完成以下配置:
|
|||
|
|
|
|||
|
|
### 1. ✅ YOLOv8 (CPU模式)
|
|||
|
|
- **框架**: Ultralytics YOLOv8
|
|||
|
|
- **运行模式**: CPU(无需GPU)
|
|||
|
|
- **模型文件**: `python-inference-service/models/best.pt`
|
|||
|
|
|
|||
|
|
### 2. ✅ MinIO (外部服务)
|
|||
|
|
- **地址**: http://49.232.154.205:10900
|
|||
|
|
- **配置位置**: `ruoyi-admin/src/main/resources/application.yml`
|
|||
|
|
- **不在Docker中部署**
|
|||
|
|
|
|||
|
|
### 3. ✅ 前端端口
|
|||
|
|
- **对外端口**: 10080
|
|||
|
|
- **访问地址**: http://localhost:10080
|
|||
|
|
|
|||
|
|
## 📦 Docker服务列表
|
|||
|
|
|
|||
|
|
| 服务 | 说明 | 备注 |
|
|||
|
|
|------|------|------|
|
|||
|
|
| MySQL | 数据库 | 内部部署 |
|
|||
|
|
| Redis | 缓存 | 内部部署 |
|
|||
|
|
| Python服务 | YOLOv8推理 | CPU模式,不需要GPU |
|
|||
|
|
| Java后端 | 业务逻辑 | 连接外部MinIO |
|
|||
|
|
| Vue前端 | 用户界面 | 唯一对外暴露 :10080 |
|
|||
|
|
| MinIO | 对象存储 | **使用外部服务** |
|
|||
|
|
|
|||
|
|
## 🚀 快速部署
|
|||
|
|
|
|||
|
|
### 1. 准备模型文件
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 将YOLOv8训练的模型放到这里
|
|||
|
|
python-inference-service/models/best.pt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 启动服务
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Windows
|
|||
|
|
deploy.bat
|
|||
|
|
|
|||
|
|
# Linux/Mac
|
|||
|
|
chmod +x deploy.sh
|
|||
|
|
./deploy.sh
|
|||
|
|
|
|||
|
|
# 或手动启动
|
|||
|
|
docker-compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 访问系统
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
前端: http://localhost:10080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📋 关键配置文件
|
|||
|
|
|
|||
|
|
### docker-compose.yml
|
|||
|
|
|
|||
|
|
**包含的服务**:
|
|||
|
|
```yaml
|
|||
|
|
services:
|
|||
|
|
mysql # ✅ 内部部署
|
|||
|
|
redis # ✅ 内部部署
|
|||
|
|
python-service # ✅ CPU模式,无GPU配置
|
|||
|
|
backend # ✅ 连接外部MinIO
|
|||
|
|
frontend # ✅ 对外端口10080
|
|||
|
|
# minio # ❌ 不部署,使用外部
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### .env
|
|||
|
|
|
|||
|
|
**环境变量**:
|
|||
|
|
```bash
|
|||
|
|
MYSQL_HOST=rtsp-mysql
|
|||
|
|
REDIS_HOST=rtsp-redis
|
|||
|
|
BACKEND_HOST=rtsp-backend
|
|||
|
|
FRONTEND_PORT=10080 # 前端对外端口
|
|||
|
|
PYTHON_SERVICE_HOST=rtsp-python-service
|
|||
|
|
|
|||
|
|
# MinIO配置在application.yml中,不在.env
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### application.yml
|
|||
|
|
|
|||
|
|
**MinIO外部服务配置**:
|
|||
|
|
```yaml
|
|||
|
|
minio:
|
|||
|
|
enabled: true
|
|||
|
|
endpoint: http://49.232.154.205:10900
|
|||
|
|
access-key: 4EsLD9g9OM09DT0HaBKj
|
|||
|
|
secret-key: 05SFC5fleqTnaLRYBrxHiphMFYbGX5nYicj0WCHA
|
|||
|
|
bucket: rtsp
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🎯 系统架构
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
┌────────────────┐
|
|||
|
|
│ 浏览器 │
|
|||
|
|
│ │
|
|||
|
|
└───────┬────────┘
|
|||
|
|
│ :10080 ← 唯一对外端口
|
|||
|
|
┌───────▼────────┐
|
|||
|
|
│ Frontend │
|
|||
|
|
│ (Nginx) │
|
|||
|
|
└───────┬────────┘
|
|||
|
|
│
|
|||
|
|
┌───┴───────────────┐
|
|||
|
|
│ │
|
|||
|
|
┌───▼─────┐ ┌──────▼──────┐
|
|||
|
|
│ Backend │ │ Python │
|
|||
|
|
│ :8080 │ │ Service │
|
|||
|
|
│ │ │ :8000(CPU) │
|
|||
|
|
└─┬──┬──┬─┘ └─────────────┘
|
|||
|
|
│ │ │
|
|||
|
|
│ │ └────────────┐
|
|||
|
|
│ │ │
|
|||
|
|
│ │ ┌────▼─────┐
|
|||
|
|
│ │ │ MinIO │
|
|||
|
|
│ │ │ 外部服务 │
|
|||
|
|
│ │ │ 49.232.. │
|
|||
|
|
│ │ └──────────┘
|
|||
|
|
│ │
|
|||
|
|
┌─▼──▼───┐
|
|||
|
|
│ MySQL │
|
|||
|
|
│ Redis │
|
|||
|
|
└────────┘
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## ⚙️ 配置特点
|
|||
|
|
|
|||
|
|
### ✅ 优点
|
|||
|
|
|
|||
|
|
1. **无需GPU**
|
|||
|
|
- 不需要NVIDIA驱动
|
|||
|
|
- 不需要NVIDIA Docker Runtime
|
|||
|
|
- 适合普通CPU服务器
|
|||
|
|
|
|||
|
|
2. **使用外部MinIO**
|
|||
|
|
- 不占用本地存储
|
|||
|
|
- 配置灵活
|
|||
|
|
- 易于扩展
|
|||
|
|
|
|||
|
|
3. **网络安全**
|
|||
|
|
- 只暴露前端端口(10080)
|
|||
|
|
- 其他服务内部通信
|
|||
|
|
- 提高安全性
|
|||
|
|
|
|||
|
|
### ⚠️ 注意事项
|
|||
|
|
|
|||
|
|
1. **推理速度**
|
|||
|
|
- CPU模式比GPU慢
|
|||
|
|
- 建议使用yolov8n.pt(最小模型)
|
|||
|
|
- 可适当降低图像尺寸
|
|||
|
|
|
|||
|
|
2. **MinIO依赖**
|
|||
|
|
- 需要外部MinIO服务可用
|
|||
|
|
- 修改配置需重新构建后端
|
|||
|
|
|
|||
|
|
3. **首次启动**
|
|||
|
|
- 等待1-2分钟让服务完全启动
|
|||
|
|
- Python服务需要加载模型
|
|||
|
|
|
|||
|
|
## 📖 重要文档
|
|||
|
|
|
|||
|
|
| 文档 | 说明 |
|
|||
|
|
|------|------|
|
|||
|
|
| `DEPLOYMENT-NOTES.md` | **最重要** - 部署配置说明 |
|
|||
|
|
| `DOCKER-QUICK-START.md` | 快速启动和常用命令 |
|
|||
|
|
| `YOLOV8-SETUP.md` | YOLOv8模型配置 |
|
|||
|
|
| `README-DOCKER.md` | 完整部署文档 |
|
|||
|
|
| `UPDATE-SUMMARY.md` | 更新变更记录 |
|
|||
|
|
|
|||
|
|
## 🔍 部署检查清单
|
|||
|
|
|
|||
|
|
### 部署前
|
|||
|
|
|
|||
|
|
- [ ] Docker和Docker Compose已安装
|
|||
|
|
- [ ] YOLOv8模型文件(best.pt)已准备
|
|||
|
|
- [ ] 外部MinIO服务可访问(http://49.232.154.205:10900)
|
|||
|
|
- [ ] 端口10080未被占用
|
|||
|
|
- [ ] 服务器有足够CPU资源
|
|||
|
|
|
|||
|
|
### 部署后
|
|||
|
|
|
|||
|
|
- [ ] 所有容器正常运行:`docker-compose ps`
|
|||
|
|
- [ ] 前端可访问:http://localhost:10080
|
|||
|
|
- [ ] Python服务加载模型成功
|
|||
|
|
- [ ] 后端连接MySQL成功
|
|||
|
|
- [ ] 后端连接Redis成功
|
|||
|
|
- [ ] 后端连接外部MinIO成功
|
|||
|
|
|
|||
|
|
## 🛠️ 常用命令
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 启动服务
|
|||
|
|
docker-compose up -d
|
|||
|
|
|
|||
|
|
# 查看状态
|
|||
|
|
docker-compose ps
|
|||
|
|
|
|||
|
|
# 查看日志
|
|||
|
|
docker-compose logs -f
|
|||
|
|
|
|||
|
|
# 查看特定服务日志
|
|||
|
|
docker-compose logs -f python-service
|
|||
|
|
docker-compose logs -f backend
|
|||
|
|
|
|||
|
|
# 重启服务
|
|||
|
|
docker-compose restart
|
|||
|
|
|
|||
|
|
# 停止服务
|
|||
|
|
docker-compose down
|
|||
|
|
|
|||
|
|
# 完全清理(包括数据)
|
|||
|
|
docker-compose down -v
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 性能优化建议
|
|||
|
|
|
|||
|
|
### CPU模式优化
|
|||
|
|
|
|||
|
|
1. **使用最小模型**
|
|||
|
|
```bash
|
|||
|
|
# 使用yolov8n.pt而不是yolov8l.pt或yolov8x.pt
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **调整输入尺寸**
|
|||
|
|
```python
|
|||
|
|
# 在yolov8_model.py中
|
|||
|
|
self.img_size = 320 # 从640改为320
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **提高置信度阈值**
|
|||
|
|
```python
|
|||
|
|
# 减少检测框数量
|
|||
|
|
self.conf_threshold = 0.4 # 从0.25提高到0.4
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📞 获取帮助
|
|||
|
|
|
|||
|
|
1. **查看日志**
|
|||
|
|
```bash
|
|||
|
|
docker-compose logs [服务名]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. **检查配置**
|
|||
|
|
- `.env` - 环境变量
|
|||
|
|
- `docker-compose.yml` - 服务配置
|
|||
|
|
- `application.yml` - MinIO配置
|
|||
|
|
|
|||
|
|
3. **阅读文档**
|
|||
|
|
- `DEPLOYMENT-NOTES.md` - 详细配置说明
|
|||
|
|
- `DOCKER-QUICK-START.md` - 快速参考
|
|||
|
|
|
|||
|
|
## ✨ 部署完成
|
|||
|
|
|
|||
|
|
所有配置已完成,您可以:
|
|||
|
|
|
|||
|
|
1. 运行 `deploy.bat` 或 `./deploy.sh` 启动系统
|
|||
|
|
2. 访问 http://localhost:10080 使用系统
|
|||
|
|
3. 查看日志确认服务正常运行
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**配置日期**: 2025-09-30
|
|||
|
|
**配置特点**:
|
|||
|
|
- ✅ YOLOv8 (CPU模式)
|
|||
|
|
- ✅ 外部MinIO (49.232.154.205:10900)
|
|||
|
|
- ✅ 前端端口 10080
|
|||
|
|
- ✅ 无GPU依赖
|
|||
|
|
|
|||
|
|
🎉 **祝部署顺利!**
|