109 lines
2.9 KiB
Markdown
109 lines
2.9 KiB
Markdown
|
|
# 端口规划方案
|
|||
|
|
|
|||
|
|
本文档定义了 B2B AI Shopping Assistant 项目的端口分配规范。
|
|||
|
|
|
|||
|
|
## 📋 端口分配总览
|
|||
|
|
|
|||
|
|
### 1️⃣ 基础设施层 (3000-3999)
|
|||
|
|
|
|||
|
|
用于前端界面、Web 控制台等面向用户的服务。
|
|||
|
|
|
|||
|
|
| 端口 | 服务 | 说明 | 状态 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| 3000 | Chatwoot | 客户支持平台主界面 | ✅ 使用中 |
|
|||
|
|
| 3001-3009 | - | 预留给 Web 界面服务 | 🔄 预留 |
|
|||
|
|
| 3010-3099 | - | 预留给基础设施扩展 | 🔄 预留 |
|
|||
|
|
|
|||
|
|
### 2️⃣ 应用服务层 (8000-8999)
|
|||
|
|
|
|||
|
|
核心 AI 和 MCP 后端服务。
|
|||
|
|
|
|||
|
|
| 端口 | 服务 | 说明 | 状态 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| 8000 | Agent | LangGraph AI Agent 主服务 | ✅ 使用中 |
|
|||
|
|
| 8001 | Strapi MCP | 知识库和 FAQ 服务 | ✅ 使用中 |
|
|||
|
|
| 8002 | Order MCP | 订单查询服务 | ✅ 使用中 |
|
|||
|
|
| 8003 | Aftersale MCP | 售后服务 | ✅ 使用中 |
|
|||
|
|
| 8004 | Product MCP | 商品服务 | ✅ 使用中 |
|
|||
|
|
| 8005-8009 | - | 预留给其他 MCP 服务 | 🔄 预留 |
|
|||
|
|
| 8010-8099 | - | 预留给应用服务扩展 | 🔄 预留 |
|
|||
|
|
|
|||
|
|
### 3️⃣ 静态资源服务 (8080-8099)
|
|||
|
|
|
|||
|
|
用于静态文件托管、反向代理等。
|
|||
|
|
|
|||
|
|
| 端口 | 服务 | 说明 | 状态 |
|
|||
|
|
|------|------|------|------|
|
|||
|
|
| 8080 | Nginx | 静态文件服务器 (测试页面等) | ✅ 使用中 |
|
|||
|
|
| 8081-8099 | - | 预留给其他静态资源服务 | 🔄 预留 |
|
|||
|
|
|
|||
|
|
### 4️⃣ 内部通信 (9000+)
|
|||
|
|
|
|||
|
|
**注意**:此区间端口仅用于容器内部通信,不对外暴露。
|
|||
|
|
|
|||
|
|
| 服务 | 内部端口 | 说明 |
|
|||
|
|
|------|----------|------|
|
|||
|
|
| PostgreSQL | 5432 | 仅容器内部访问 |
|
|||
|
|
| Redis | 6379 | 仅容器内部访问 |
|
|||
|
|
|
|||
|
|
## 🔧 访问地址
|
|||
|
|
|
|||
|
|
### 生产/开发环境
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# Chatwoot 客服平台
|
|||
|
|
http://localhost:3000
|
|||
|
|
|
|||
|
|
# Nginx 静态文件 (测试页面)
|
|||
|
|
http://localhost:8080/test-chat.html
|
|||
|
|
|
|||
|
|
# Agent API
|
|||
|
|
http://localhost:8000
|
|||
|
|
|
|||
|
|
# MCP Services
|
|||
|
|
http://localhost:8001 # Strapi MCP
|
|||
|
|
http://localhost:8002 # Order MCP
|
|||
|
|
http://localhost:8003 # Aftersale MCP
|
|||
|
|
http://localhost:8004 # Product MCP
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📝 添加新服务时的规则
|
|||
|
|
|
|||
|
|
1. **按功能选择端口区间**
|
|||
|
|
- 前端界面 → 3000-3999
|
|||
|
|
- 后端 API → 8000-8999
|
|||
|
|
- 静态资源/代理 → 8080-8099
|
|||
|
|
|
|||
|
|
2. **查看预留端口**
|
|||
|
|
- 优先使用预留端口范围内的空闲端口
|
|||
|
|
- 避免跨区间分配
|
|||
|
|
|
|||
|
|
3. **更新文档**
|
|||
|
|
- 添加新服务后更新本文档
|
|||
|
|
- 标注端口用途和服务说明
|
|||
|
|
|
|||
|
|
4. **保持连续性**
|
|||
|
|
- 相关服务尽量使用连续的端口
|
|||
|
|
- 便于记忆和管理
|
|||
|
|
|
|||
|
|
## 🔍 端口冲突排查
|
|||
|
|
|
|||
|
|
如果遇到端口冲突:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 检查端口占用
|
|||
|
|
lsof -i :<端口>
|
|||
|
|
netstat -tulpn | grep <端口>
|
|||
|
|
|
|||
|
|
# Docker 容器查看
|
|||
|
|
docker ps
|
|||
|
|
docker-compose ps
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 📌 注意事项
|
|||
|
|
|
|||
|
|
- ⚠️ **不要使用 3000-3999 范围以外的端口作为前端服务**
|
|||
|
|
- ⚠️ **MCP 服务必须使用 8000-8999 范围**
|
|||
|
|
- ⚠️ **所有数据库端口(5432, 6379 等)仅内部访问,不要映射到宿主机**
|
|||
|
|
- ✅ **添加新服务前先检查端口规划文档**
|