feat(web): 移除 Docker 与反代部署,改为 Linux 业务服务并自带管理端托管
需求变更:Web 端只保留业务需求,反向代理交由另外的服务处理, 本项目仅提供 IIS / nginx 反代说明文档,不部署反代。 主要改动: - web-server: 新增管理端静态托管(ADMIN_DIR、SPA 深链接回退), 反代因此只需一条全匹配转发规则;新增 adminDir 配置项 - deploy/install.sh: 删除 nginx 安装与站点配置逻辑,改为原生 Linux 服务部署(systemd → OpenRC → SysVinit → 后台进程四级降级), 打印反代交接指引 - deploy/ctl.sh: 启停/状态/日志脚本 - deploy/proxy/: 新增反代说明文档(README.md、nginx.conf.example、 web.config.example),标注上传上限与超时必须同步调整 - 删除 deploy/nginx/、web-server/admin/nginx.conf、Dockerfile、 docker-compose.yml、.dockerignore - scripts/package-release.sh: 锚定排除规则 + 产物完整性校验 - 文档同步:README.txt、DSH.md、project.yaml、tasks/008、tasks/010
This commit is contained in:
@@ -49,5 +49,5 @@ npm run build # tsc -b && vite build 必须成功
|
||||
## 构建与运行
|
||||
|
||||
- 开发:`npm run dev`(5173,`/api` 与 `/health` 代理到 `localhost:3000`)
|
||||
- 生产:`npm run build` 产物由 nginx 直接托管在同一站点的根路径下,`/api` 反代到本机 Node 进程(见 `deploy/nginx/opendance.conf`)
|
||||
- 生产:`npm run build` 产物由**后端服务自身**托管(`ADMIN_DIR`,含 SPA 回退),反向代理只需整体转发到后端端口(见 `deploy/proxy/README.md`)
|
||||
- `VITE_API_BASE` 可覆盖 API 基地址;留空表示同源
|
||||
|
||||
+22
-14
@@ -23,26 +23,34 @@ deploy/install.sh
|
||||
deploy/uninstall.sh
|
||||
deploy/.env.example
|
||||
deploy/systemd/opendance-api.service
|
||||
deploy/nginx/opendance.conf
|
||||
deploy/proxy/README.md
|
||||
```
|
||||
|
||||
## 部署形态
|
||||
|
||||
**职责边界**:本端只提供**业务服务**;反向代理由另外的服务/团队负责。
|
||||
|
||||
```
|
||||
浏览器 ──HTTP:80──▶ nginx 站点
|
||||
├── / 管理端静态站点(React 构建产物)
|
||||
├── /assets/ 带哈希的静态资源(长缓存)
|
||||
├── /api/ ─┐
|
||||
├── /health ─┼─▶ 反向代理 127.0.0.1:3000
|
||||
└── /static/─┘ │
|
||||
▼
|
||||
systemd: opendance-api
|
||||
(Node 进程,仅监听本机)
|
||||
│
|
||||
▼
|
||||
现有 MySQL / MariaDB 实例
|
||||
浏览器 ──▶ 反向代理(外部提供,IIS / nginx / 网关…)
|
||||
│ 整体转发,不需要托管静态文件
|
||||
▼
|
||||
Node 业务服务 :3000
|
||||
├── / 管理端页面(本服务自带,含 SPA 深链接回退)
|
||||
├── /assets/ 前端静态资源
|
||||
├── /api/ REST API
|
||||
├── /health 健康检查
|
||||
├── /static/ 上传文件
|
||||
└── /contracts/ 契约快照
|
||||
│
|
||||
▼
|
||||
现有 MySQL / MariaDB 实例
|
||||
```
|
||||
|
||||
本服务同时提供 API 与管理端页面(`ADMIN_DIR`),因此反代**只需一条全匹配转发规则**,
|
||||
既不用在代理层托管静态文件,也不用配置 SPA 回退。
|
||||
|
||||
`deploy/install.sh` **不安装、不配置任何反向代理软件**。
|
||||
|
||||
## 交付物
|
||||
|
||||
| 文件 | 说明 |
|
||||
@@ -54,7 +62,7 @@ deploy/nginx/opendance.conf
|
||||
| `deploy/openrc/opendance-api` | OpenRC 服务脚本 |
|
||||
| `deploy/initd/opendance-api` | SysVinit / LSB 启动脚本(转调 ctl.sh) |
|
||||
| `deploy/ctl.sh` | 无 init 系统时的进程控制(nohup + PID 文件),start/stop/restart/status/logs |
|
||||
| `deploy/nginx/opendance.conf` | 站点配置:SPA 回退、API 反代、上传上限 512 MiB、gzip |
|
||||
| `deploy/proxy/README.md` | 站点配置:SPA 回退、API 反代、上传上限 512 MiB、gzip |
|
||||
| `web-server/admin/nginx.conf` | 管理端容器内配置(保留给需要独立静态托管的场景) |
|
||||
|
||||
## 进程管理:四层降级
|
||||
|
||||
Reference in New Issue
Block a user