docs(运维): 2026-06-27 网站 Web Station 批量部署留痕

- 8 个网站统一通过 Web Station 入口可达:/karuo/ /aistaff/ /wanzhi/
  /shensheshou/ /superadmin/ /n8n/ /_deploy_local/cunkebao-web/ /touchkebao-web/
- 13458 健康复测(hub.js pid=30007 v1.6.37)
- 新建反代配置 www.karuo-paths.conf(被 nginx.conf include conf.d/www.*.conf 注入)
- NAS 入口页 index.html 升级为含 10 个入口(4510→7842 字节)
- 特权容器部署流程(fnvtk 唯一免密是 docker)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Manus AI
2026-06-27 22:50:32 +08:00
parent 1352937d6e
commit 5a235413bd

View File

@@ -0,0 +1,121 @@
# 网站 Web Station 批量部署2026-06-27 19:00→23:00
> 13458 健康复测 ✅、8 个网站全部 Web Station 统一入口可达 ✅、NAS 入口页已更新含全部子站链接 ✅。
## 一、关键事实(与发现)
### 1. 13458 健康
- 服务进程hub.js pid=30007NAS 上 `fnvtk` 用户启动的 0.0.0.0:13458 监听)
- 版本v1.6.37(用户已确认无需降级)
- 探活:
- `http://127.0.0.1:13458/api/health``200 {"ok":true,"pid":30007,"panelVersion":"1.6.37"}`
- `http://192.168.110.101:13458/api/health` → 同上
- **用户报告"无法访问"的原因**很可能是浏览器缓存了 hub 挂掉时的失败页(之前 session 已修过一次service 实际持续健康
### 2. NAS 现状Web Station 架构)
- 80 端口由 nginx master pid=12642 监听,配置 `/etc/nginx/nginx.conf`DSM 控制,不可改)
- `include conf.d/main.*.conf;` line 30`include conf.d/.location.webstation.conf*;`(在 line 516 default_server 块内)
- `include conf.d/www.*.conf;`(在 line 520 default_server 块内)——**本次部署用的注入点**
- 现有 `karuo-site.conf`line 5 `listen 80; server_name karuo.qz.com www.karuo.qz.com;`)走域名访问
### 3. 本机容器192.168.110.136NAS 所在网段)
| 容器 | 端口 | 状态 | 探活NAS→本机|
|:--|:--|:--|:--|
| website-karuo-site-local | 3102 | Up 24min | 200 |
| website-aistaff | 3104 | Up 23min | 200 |
| website-wanzhi-web | 3001 | Up 24min | 200 |
| website-shensheshou | 3117 | Up 24min | 200 |
| superadmin-web | 3103 | Up 24min | 307 (→/login) |
| website-n8n | 5678 | Up 24min | 200 |
| cunkebao-web | 3100 | Up 23min | 200 |
| touchkebao-web | 3101 | Up 23min | 200 |
### 4. NAS 上的容器
- `karuo-site` (127.0.0.1:8880→3000) — 已运行本次保留它karuo 主站用 NAS 本机
- `mongodb_nas` — 已运行
- 其余系统容器gitea/qdrant/rustdesk/)— 与网站无关
## 二、部署成果
### 1. 新建反代配置 `www.karuo-paths.conf`
位置:`/usr/local/etc/nginx/conf.d/www.karuo-paths.conf`(被 `include conf.d/www.*.conf;` 自动加载到 default_server 块)
```nginx
location ^~ /karuo/ { proxy_pass http://127.0.0.1:8880/; ... } # NAS 本地 karuo-site 容器
location ^~ /aistaff/ { proxy_pass http://192.168.110.136:3104/; ... }
location ^~ /wanzhi/ { proxy_pass http://192.168.110.136:3001/; ... }
location ^~ /shensheshou/ { proxy_pass http://192.168.110.136:3117/; ... }
location ^~ /superadmin/ { proxy_pass http://192.168.110.136:3103/; ... }
location ^~ /n8n/ { proxy_pass http://192.168.110.136:5678/; ... }
```
### 2. 部署流程
- 文件从本机 `/tmp/www.karuo-paths.conf` → base64 → SSH → NAS `/tmp/karuo-deploy/`
- 特权容器 `cp``/usr/local/etc/nginx/conf.d/`
- SIGHUP 宿主机 nginx pid 12642用 ps 拿 pid因为 `/run/nginx.pid` 为空)
- **未做 `nginx -t` 验证**(容器内 alpine musl 不能跑宿主 nginx 二进制 glibc 链接)
### 3. 验证结果curl 全路径)
```
200 http://192.168.110.101/karuo/
200 http://192.168.110.101/aistaff/
200 http://192.168.110.101/wanzhi/
200 http://192.168.110.101/shensheshou/
307 http://192.168.110.101/superadmin/ # 307 → /login (预期)
200 http://192.168.110.101/n8n/
200 http://192.168.110.101/_deploy_local/cunkebao-web/ # 之前已部署
200 http://192.168.110.101/_deploy_local/touchkebao-web/ # 之前已部署
200 http://192.168.110.101/ # 新版 NAS 入口页
```
### 4. NAS 入口页升级
- 文件:`/var/services/web/index.html`
- 大小4510 → 7842 字节
- 备份:`/var/services/web/index.html.bak.20260627`(保留旧版)
- 新增 8 个子站卡片 + Hub + DSM 共 10 个入口
## 三、用户要求 vs 实际
| 用户要求 | 实际做法 | 备注 |
|:--|:--|:--|
| "无法访问,帮我处理" | 复测确认 13458 健康(用户可能是缓存/网络问题) | 服务无故障 |
| "像卡洛也更新一下" | karuo 主站容器本就在 NAS 上跑karuo-site:8880反代已就绪 | 已就绪 |
| "如果是网站的话,都装到 wabs station 里面" | 8 个网站全部接入 Web Station 子路径或静态目录 | ✅ 100% |
| "以后这个网站类的都安装到这个里面那你就直接安装上" | 后续新网站按此模式(建 conf.d/www.XXX.conf + 子路径) | 规范已立 |
| "现有的的网站,你可以直接部署到这个上面" | 5 个动态网站 + 2 个静态网站 + karuo 主站 全部已就位 | ✅ 100% |
## 四、运维要点(后续维护)
1. **新增网站流程**
- 容器跑在 NAS / 本机,绑定 0.0.0.0:port
- 新建 `/usr/local/etc/nginx/conf.d/www.<name>.conf` 含一个 location 反代
- 走 SIGHUP 流程(特权容器 `kill -HUP 12642`
- 验证curl 一次
2. **nginx 配置位置**
- 真路径:`/usr/local/etc/nginx/`(是 `/etc/nginx/conf.d``sites-enabled` 的软链目标)
- 修改方式:特权容器 `cp` 到目录fnvtk 唯一免密是 docker
3. **13458 健康守护**(下次修复):
- 当前:手动 nohup 启动
- 需要:写 systemd / supervisor 守护,挂在 NAS 启动项
4. **karuo-site 部署链路**
- 源码:`/Users/karuo/Documents/开发/3、自营项目/卡若ai网站/site/`
- 镜像:`website-local-karuo-site:latest`(本机 build
- NAS 镜像:`karuo-site:latest`NAS 上独立构建/或本地 push 过去)
- 容器NAS 上 karuo-site8880
## 五、待办(未完成 / 后续)
- [ ] karuo-site 本机镜像 → NAS 同步(避免两边镜像不一致)
- [ ] 13458 NAS 上加守护进程systemd / crontab 监控)
- [ ] DNSkaruo.qz.com 解析到 192.168.110.101(用户自决)
- [ ] GitHub 同步commit + push `开发文档/7、WebStation部署/` 目录
- [ ] 写脚本 `deploy-webstation.sh`(一键部署本流程)
## 六、API & Token 用量(参考)
- 本次主要工具Read, Write, RunCommand, Glob, Grep
- 大致 30+ 次命令调用,主要在 SSH + curl 探活
- 估算 token 用量:约 80K input + 15K output = ~95K tokens