This commit is contained in:
2026-09-02 18:18:42 +08:00
parent 5e531ffe1e
commit 4fbff0761a
18 changed files with 239 additions and 111 deletions
+17 -37
View File
@@ -2,17 +2,15 @@
> 文档定位:**模块化部署下的端口与环境变量配置补充说明**。
> 当前部署主题入口见 [../DEPLOYMENT.md](../DEPLOYMENT.md),详细 Linux 部署步骤见 [LINUX_SETUP.md](LINUX_SETUP.md)。
> 本文档说明当前 geMoldInsight 在**模块化部署**下的端口配置方式。
> 本文只补充环境变量、端口配置项与 direct run / compose 的映射;端口规划与对外暴露方式以 [DEPLOY_PORT.md](./DEPLOY_PORT.md) 为准。
当前架构中应区分:
当前配置中主要需要区分:
- **gemold API 端口**
- **moldinsight API 端口**
- **inventory API 端口**
- **数据库/Redis/对象存储端口**
- **数据库 / Redis / 对象存储端口**
- **前端访问地址**
不再推荐把所有部署场景都抽象成“单应用单端口”。
---
## 1. 当前主配置位置
@@ -54,7 +52,7 @@ RUSTFS_ENDPOINT=http://localhost:9000
|---|---|
| `FRONTEND_PORT` | 前端 Nginx 宿主机暴露端口 |
| `BACKEND_PORT` | unified backend 宿主机暴露端口 |
| `MOLDINSIGHT_PORT` | gemold-only 独立部署端口 |
| `MOLDINSIGHT_PORT` | moldinsight-only 独立部署端口 |
| `INVENTORY_PORT` | inventory-only 独立部署端口 |
| `DB_PORT` | PostgreSQL 端口 |
| `REDIS_PORT` | Redis 端口 |
@@ -65,7 +63,7 @@ RUSTFS_ENDPOINT=http://localhost:9000
## 3. 推荐配置方式
### 3.1 gemold-only
### 3.1 moldinsight-only
```env
MOLDINSIGHT_PORT=8000
@@ -92,30 +90,13 @@ REDIS_PORT=6379
---
## 4. 为什么不再强调单一 `PORT` 变量
## 4. direct run 与 Compose 的映射
历史单体部署通常只有一个后端入口,因此 `PORT=8000` 足够。
通过直接运行或 Docker Compose 部署时,端口含义保持一致,但映射方式不同。
当前项目已经是:
- gemold 独立入口
- inventory 独立入口
- unified 作为组合模式而非默认单体入口
### direct run
因此端口配置必须模块化:
- gemold 一个端口
- inventory 一个端口
- 如果 unified 对外存在,可以由网关统一暴露 80/443
这比继续强行把所有模式压成一个 `PORT` 更清晰,也更符合真实部署方式。
---
## 5. 直接运行与 Compose 的区别
### 直接运行
gemold:
moldinsight:
```bash
uvicorn src.entrypoints.moldinsight:app --port 8000
@@ -131,7 +112,7 @@ uvicorn src.entrypoints.inventory:app --port 8001
Compose 通过端口映射暴露服务:
- gemold → `${MOLDINSIGHT_PORT}:8000`
- moldinsight → `${MOLDINSIGHT_PORT}:8000`
- inventory → `${INVENTORY_PORT}:8001`
当前实际定义见:
@@ -139,7 +120,7 @@ Compose 通过端口映射暴露服务:
---
## 6. 与前端配置的关系
## 5. 与前端配置的关系
前端是否使用 unified / split deployment,会影响前端 API 地址配置。
@@ -147,7 +128,7 @@ Compose 通过端口映射暴露服务:
- 一个 API 基地址
### split
- gemold 与 inventory 各自基地址
- moldinsight 与 inventory 各自基地址
因此,修改后端端口后,可能还需要同步:
@@ -157,22 +138,21 @@ Compose 通过端口映射暴露服务:
---
## 7. 推荐实践
## 6. 推荐实践
1. **本地开发**
- gemold:8000
- moldinsight:8000
- inventory:8001
2. **服务器部署**
- 外网只暴露 80/443
- Nginx 反代到 8000 / 8001
3. **不要继续把所有部署模式都写成 `src.main:app + PORT=8000`**
- 这已不符合当前架构
3. 修改端口后,同步检查 `.env`、Compose 端口映射、前端环境变量与反向代理配置
---
## 8. 关联文档
## 7. 关联文档
- [LINUX_SETUP.md](./LINUX_SETUP.md)
- [DEPLOY_PORT.md](./DEPLOY_PORT.md)