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依赖
|
||
|
||
🎉 **祝部署顺利!** |