| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # 勤务系统 2.0 Demo 部署说明(给运维)
- 本系统没有独立业务库、没有 Java / Node 后端。解压后是一个 Vue 静态站(管理后台 / 指挥大屏 / 作业端 H5)。
- 业务数据在现有数据中台。中台账号已写进前端,页面打开后会自己登录。
- 运维只需要:把 `dist/` 交给 Nginx,并按样例反代 OAuth、DMS 两个地址。
- ## 包内文件
- - `dist/` 前端静态资源
- - `nginx.conf.example` Nginx 样例(改两处 upstream 即可)
- ## 服务器要求
- - Nginx(能访问中台网关)
- - 不必装 Node、不必配中台账号、不必配 .env
- 默认网关(与样例一致,按实际改):
- - OAuth:`http://121.43.55.7:2101/proxy_oauth/...`
- - DMS:`http://121.43.55.7:2101/proxy_dms/...`
- ## 部署步骤
- 1. 解压到例如 `/opt/shba-duty/`,保证存在 `/opt/shba-duty/dist/index.html`。
- 2. 把 `nginx.conf.example` 拷到 Nginx(例如 `/etc/nginx/conf.d/shba-duty.conf`)。
- 3. **只改文件顶部两个 upstream**:
- ```
- upstream shba_oauth {
- server 121.43.55.7:2101; # OAuth 网关主机:端口
- }
- upstream shba_dms {
- server 121.43.55.7:2101; # DMS 网关主机:端口
- }
- ```
- 两个经常是同一台网关。不要改 `location /proxy_oauth/`、`/proxy_dms/` 路径名(前端按这两个路径请求)。
- 4. `root` 指到本包 `dist/`。`server_name` / `listen` 按现网改。
- 5. `nginx -t && nginx -s reload`。
- 6. 浏览器打开站点,顶栏应变为「中台数据」。若是「内存样本」,多半是反代地址不通或路径被改掉。
- ## 必须保留的反代
- | 浏览器路径 | 转到 |
- | --- | --- |
- | `/proxy_oauth/` | OAuth 网关(含 `POST /proxy_oauth/user/login`) |
- | `/proxy_dms/` | DMS 网关(内容 CRUD、`/file/uploadFile`、`/static/` 附件) |
- | 其它 | `try_files` 回落到 `index.html`(History 路由) |
- - `client_max_body_size` 建议 32m(附件)
- - 超时建议 120s(拉栏目较慢)
- - 不要改写 `Content-Type`(上传是 multipart,boundary 必须原样转发)
- - `/proxy_dms/` 需要把请求头 `Token` 或 Cookie `DmsToken` 转成上游 `Token`(样例已写)
- ## 打开地址
- - 入口 `/`
- - 登录 `/login`
- - 管理后台 `/admin/workbench`
- - 指挥大屏 `/screen/duty`
- - 作业端 `/mp/punch`
- 地图瓦片由浏览器直连高德/GeoQ,不经本机 Nginx。若甲方内网不能出公网,地图底图会空白,业务功能仍可用。
- ## 不要做的事
- - 不要再套一层 Node / Java 去代登录
- - 不要把 `/proxy_dms` 反代成别的路径名(前端不会跟着改)
- - 不要用 `vite` 开发服务当生产(本包已是 `vite build` 产物)
|