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:
2026-09-15 01:25:19 +08:00
parent 653d9d168c
commit 8c76b0a599
17 changed files with 581 additions and 244 deletions
+1 -1
View File
@@ -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
View File
@@ -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` | 管理端容器内配置(保留给需要独立静态托管的场景) |
## 进程管理:四层降级