- 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>
6.0 KiB
6.0 KiB
网站 Web Station 批量部署(2026-06-27 19:00→23:00)
13458 健康复测 ✅、8 个网站全部 Web Station 统一入口可达 ✅、NAS 入口页已更新含全部子站链接 ✅。
一、关键事实(与发现)
1. 13458 健康
- 服务进程:hub.js pid=30007(NAS 上
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 5listen 80; server_name karuo.qz.com www.karuo.qz.com;)走域名访问
3. 本机容器(192.168.110.136,NAS 所在网段)
| 容器 | 端口 | 状态 | 探活(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 块)
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% |
四、运维要点(后续维护)
-
新增网站流程:
- 容器跑在 NAS / 本机,绑定 0.0.0.0:port
- 新建
/usr/local/etc/nginx/conf.d/www.<name>.conf含一个 location 反代 - 走 SIGHUP 流程(特权容器
kill -HUP 12642) - 验证:curl 一次
-
nginx 配置位置:
- 真路径:
/usr/local/etc/nginx/(是/etc/nginx/conf.d和sites-enabled的软链目标) - 修改方式:特权容器
cp到目录(fnvtk 唯一免密是 docker)
- 真路径:
-
13458 健康守护(下次修复):
- 当前:手动 nohup 启动
- 需要:写 systemd / supervisor 守护,挂在 NAS 启动项
-
karuo-site 部署链路:
- 源码:
/Users/karuo/Documents/开发/3、自营项目/卡若ai网站/site/ - 镜像:
website-local-karuo-site:latest(本机 build) - NAS 镜像:
karuo-site:latest(NAS 上独立构建/或本地 push 过去) - 容器:NAS 上 karuo-site(8880)
- 源码:
五、待办(未完成 / 后续)
- karuo-site 本机镜像 → NAS 同步(避免两边镜像不一致)
- 13458 NAS 上加守护进程(systemd / crontab 监控)
- DNS:karuo.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