feat: 调整前端端口为8181并添加宿主机Nginx配置示例 [AC-AISVC-01]
- 前端端口从3000改为8181(避免与常用端口冲突) - 添加 deploy/nginx.conf.example 宿主机Nginx配置示例 - 更新README添加Nginx配置说明
This commit is contained in:
parent
d8f440077a
commit
b6218dec1a
24
README.md
24
README.md
|
|
@ -99,12 +99,14 @@ docker compose logs -f ai-service
|
||||||
|
|
||||||
| 服务 | 地址 | 说明 |
|
| 服务 | 地址 | 说明 |
|
||||||
|------|------|------|
|
|------|------|------|
|
||||||
| 前端管理界面 | http://服务器IP:3000 | Vue 管理后台 |
|
| 前端管理界面 | http://服务器IP:8181 | Vue 管理后台 |
|
||||||
| 后端 API | http://服务器IP:8080 | FastAPI 服务 |
|
| 后端 API | http://服务器IP:8080 | FastAPI 服务 |
|
||||||
| API 文档 | http://服务器IP:8080/docs | Swagger UI |
|
| API 文档 | http://服务器IP:8080/docs | Swagger UI |
|
||||||
| Qdrant 控制台 | http://服务器IP:6333/dashboard | 向量数据库管理 |
|
| Qdrant 控制台 | http://服务器IP:6333/dashboard | 向量数据库管理 |
|
||||||
| Ollama API | http://服务器IP:11434 | 嵌入模型服务 |
|
| Ollama API | http://服务器IP:11434 | 嵌入模型服务 |
|
||||||
|
|
||||||
|
> **注意**: 如果宿主机 8080 端口已被占用,可以只通过前端管理界面 (8181) 访问,前端会自动代理后端 API 请求。
|
||||||
|
|
||||||
## 服务架构
|
## 服务架构
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -114,7 +116,7 @@ docker compose logs -f ai-service
|
||||||
│
|
│
|
||||||
▼
|
▼
|
||||||
┌─────────────────────────────────────────────────────────┐
|
┌─────────────────────────────────────────────────────────┐
|
||||||
│ ai-service-admin (端口3000) │
|
│ ai-service-admin (端口8181) │
|
||||||
│ - Nginx 静态文件服务 │
|
│ - Nginx 静态文件服务 │
|
||||||
│ - 反向代理 /api/* → ai-service:8080 │
|
│ - 反向代理 /api/* → ai-service:8080 │
|
||||||
└─────────────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────────────┘
|
||||||
|
|
@ -161,6 +163,24 @@ docker compose down
|
||||||
docker compose down -v
|
docker compose down -v
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 宿主机 Nginx 配置(可选)
|
||||||
|
|
||||||
|
如果需要通过宿主机 Nginx 统一管理入口(配置域名、SSL证书),可参考 `deploy/nginx.conf.example`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 复制配置文件
|
||||||
|
sudo cp deploy/nginx.conf.example /etc/nginx/conf.d/ai-service.conf
|
||||||
|
|
||||||
|
# 修改配置中的域名
|
||||||
|
sudo vim /etc/nginx/conf.d/ai-service.conf
|
||||||
|
|
||||||
|
# 测试配置
|
||||||
|
sudo nginx -t
|
||||||
|
|
||||||
|
# 重载 Nginx
|
||||||
|
sudo nginx -s reload
|
||||||
|
```
|
||||||
|
|
||||||
## 本地开发
|
## 本地开发
|
||||||
|
|
||||||
### 后端开发
|
### 后端开发
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
# AI Service Nginx Configuration
|
||||||
|
# 将此文件放置于 /etc/nginx/conf.d/ai-service.conf
|
||||||
|
# 或 include 到主配置文件中
|
||||||
|
|
||||||
|
upstream ai_service_admin {
|
||||||
|
server 127.0.0.1:8181;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name your-domain.com; # 替换为你的域名或服务器IP
|
||||||
|
|
||||||
|
# 访问日志
|
||||||
|
access_log /var/log/nginx/ai-service.access.log;
|
||||||
|
error_log /var/log/nginx/ai-service.error.log;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://ai_service_admin;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection 'upgrade';
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_cache_bypass $http_upgrade;
|
||||||
|
|
||||||
|
# SSE 流式响应支持
|
||||||
|
proxy_read_timeout 300s;
|
||||||
|
proxy_connect_timeout 75s;
|
||||||
|
proxy_buffering off;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# HTTPS 配置示例 (使用 Let's Encrypt)
|
||||||
|
# server {
|
||||||
|
# listen 443 ssl http2;
|
||||||
|
# server_name your-domain.com;
|
||||||
|
#
|
||||||
|
# ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
|
||||||
|
# ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
|
||||||
|
#
|
||||||
|
# ssl_protocols TLSv1.2 TLSv1.3;
|
||||||
|
# ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
|
||||||
|
# ssl_prefer_server_ciphers off;
|
||||||
|
#
|
||||||
|
# location / {
|
||||||
|
# proxy_pass http://ai_service_admin;
|
||||||
|
# proxy_http_version 1.1;
|
||||||
|
# proxy_set_header Upgrade $http_upgrade;
|
||||||
|
# proxy_set_header Connection 'upgrade';
|
||||||
|
# proxy_set_header Host $host;
|
||||||
|
# proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
# proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
# proxy_cache_bypass $http_upgrade;
|
||||||
|
# proxy_read_timeout 300s;
|
||||||
|
# proxy_connect_timeout 75s;
|
||||||
|
# proxy_buffering off;
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
|
# HTTP 重定向到 HTTPS
|
||||||
|
# server {
|
||||||
|
# listen 80;
|
||||||
|
# server_name your-domain.com;
|
||||||
|
# return 301 https://$server_name$request_uri;
|
||||||
|
# }
|
||||||
|
|
@ -40,7 +40,7 @@ services:
|
||||||
container_name: ai-service-admin
|
container_name: ai-service-admin
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
- "3000:80"
|
- "8181:80"
|
||||||
depends_on:
|
depends_on:
|
||||||
- ai-service
|
- ai-service
|
||||||
networks:
|
networks:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue