48 KiB
name, description, triggers, owner, group, version, updated
| name | description | triggers | owner | group | version | updated |
|---|---|---|---|---|---|---|
| 服务器管理 | 宝塔服务器统一管理与自动化部署;含本机 Docker 部署 Sub2API/龙虾U盘API 私有 AI API 中转站 | 服务器、宝塔、部署、SSL、HTTPS、Nginx、宝塔Node、内网穿透、域名、kr-ai、ngrok、frp、frps、阿里云解析、Sub2API、龙虾U盘API、API中转站、Docker部署、quwanzhi、老坑爹、彩虹发卡 | 金仓 | 金 | 2.0 | 2026-07-24 |
服务器管理
让 AI 写完代码后,无需人工介入,自动把项目「变成一个在线网站」。
快速入口(复制即用)
服务器资产
| 服务器 | IP | 配置 | 用途 | 宝塔面板 |
|---|---|---|---|---|
| 本机 Docker 宝塔 | 127.0.0.1 | Docker 容器 | 本地建站、与腾讯云一致 | http://127.0.0.1:8888/btpanel |
| 存客宝 | 42.194.245.239 | 2核16G 50M | 私域银行业务 | https://42.194.245.239:9988 |
| kr宝塔 | 43.139.27.93 | 2核4G 5M | Node 项目主力、历史FRP业务 | https://43.139.27.93:9988 |
| 房市通东京节点 | 43.165.178.230 | 2核1G、40G SSD、200Mbps、不限月流量 | 房市通网站、WireGuard、Clash、跨网络多设备FRP统一中继 | https://43.165.178.230:9988/6260042b |
FRP + 阿里云 DNS:将原解析/流量从存客宝迁到 kr 时,顺序、安全组、frpc
server_addr、解析打勾验收见references/FRP与阿里云DNS统一至kr宝塔_迁移与验收.md(勿盲改 MX/CDN)。2026-07-24新规则:公司NAS、家里NAS、Mac、Windows、Linux和其他局域网设备的新接入统一走东京FRP,入口为
东京FRP多设备统一接入/SKILL.md;KR规则仅保留历史业务兼容。
凭证速查
⚠️ 强制规则:SSH 用 root、密码 Zhiqun1984(Z 大写),端口 22022 或 22。ckb 仅为面板账号。
服务器问题先读:references/服务器快速定位与登录SOP.md。遇到域名、订单、502、SSL、后台异常,先确认真实 IP/实例,再按「宝塔 API → SSH → 腾讯云 TAT → 宝塔终端」登录处理。
# 本机 Docker 宝塔(本地)
地址: http://127.0.0.1:8888/btpanel
账号: ckb
密码: zhiqun1984
# SSH(root + Zhiqun1984 或密钥)
sshpass -p 'Zhiqun1984' ssh -p 22022 -o PubkeyAuthentication=no root@<IP>
# 或密钥: ssh -p 22022 -i "服务器管理/Steam/id_ed25519" root@43.139.27.93
# 多方式封装: bash scripts/kr宝塔_SSH登录.sh "命令"
# 存客宝: 42.194.245.239 | kr宝塔: 43.139.27.93
# 房市通东京节点: 43.165.178.230(SSH 22022;管理端口仅放行固定出口 IP)
# 宝塔面板登录(三台统一)
账号: ckb
密码: zhiqun1984
# 宝塔API密钥
存客宝: TNKjqDv5N1QLOU20gcmGVgr82Z4mXzRi
kr宝塔: qcWubCdlfFjS2b2DMT1lzPFaDfmv1cBT
强制规则(每次执行必守)
-
服务器购买前先调研(最高优先级):任何新增服务器,先全网比较官方首购价、续费价、优惠券、带宽、月流量、地域、IPv4、退款和两年总成本,全部换算成人民币;再用云厂商官方 API 询价复核结算金额。确认最高性价比方案后才进入购买、部署、加固和归档。完整流程:
references/服务器市场调研_优惠购买_宝塔部署_安全运维全流程.md。 -
宝塔优先确认:操作腾讯云服务器时,先确认是否为宝塔服务器。若是,彻底去除 PM2,一律使用宝塔原生 Node 管理器。所有 Node 项目启停、重启、状态查询仅通过宝塔面板(网站 → Node 项目)及 API。脚本:
kr宝塔_彻底去除PM2_仅用宝塔Node_宝塔终端执行.sh。 -
SSH 统一配置:账号 root、密码 Zhiqun1984(Z 大写),端口 22022 或 22;或使用 id_ed25519 密钥。详见
references/SSH登录方式与故障排查.md。SSH 不通时用 TAT(腾讯云自动化助手)。 -
宝塔 443 优先:宝塔服务器 443 不监听时,优先检查是否运行系统 Nginx 而非宝塔 Nginx;若是,先
killall nginx后启动宝塔 Nginx。 -
经验沉淀:每次涉及服务器/宝塔/部署的操作结束后,必须把经验写入
02_卡人(水)/水溪_整理归档/经验库/待沉淀/,防止同类问题重复出现。若主目标已验证 100%,同时把可复用流程沉淀进对应 Skill;服务器类优先写入references/服务器快速定位与登录SOP.md或本 Skill 的排障入口。 -
Skill 迭代:每次有新的配置、教训、流程变更时,必须同步更新本 SKILL.md 或 references,保证下次调用时信息一致。凡本轮主目标已验证达成 100%,必须把可复用步骤沉淀进对应 Skill 的“经验/SOP/排障”段落;若只是长细节,则写 references 并在 SKILL.md 增加入口。
-
卡若AI 复盘:每次任务结束必须用卡若AI 复盘格式收尾(目标·结果·达成率、过程、反思、总结、下一步)。
-
站点/Nginx/SSL/部署 · 默认宝塔 API,白名单被拒先 TAT 加白:凡涉及「添加站点、Nginx、SSL、kr 项目上传部署」等,默认先用宝塔 API。若返回 IP 校验失败,必须先用腾讯云 TAT 脚本
scripts/腾讯云_TAT_kr宝塔_API白名单_追加出口IP.py(或永平scripts/kr_btapi_whitelist_helper.py)在机内追加limit_addr,再重试 API(不反复问用户)。加白后仍失败 → 降级一:SSH(机内写配置 / scp 上传 / 127.0.0.1 调面板 API)。SSH 不可用 → 降级二:TAT 机内执行同等命令。顺序:宝塔 API →(白名单)TAT 加白重试 → SSH → TAT。
新增守门(强制):部署前先核对souladmin.quwanzhi.com与soulapi.quwanzhi.com的 DNS 是否包含目标DEPLOY_HOST。若souladmin解析到42.194.245.239等非目标主机,必须先修正 DNS,再判定部署结果;否则会出现“KR 部署成功但公网打开到存客宝官网”的假成功。 -
执行形式强制顺序:宝塔服务器上任何操作,一律按「宝塔 API → SSH → TAT」顺序尝试。能通过宝塔 API 完成的先用 API;API 不可用(超时、IP 校验失败等)再用 SSH 在机内执行;SSH 不可用再用腾讯云 TAT。不得跳过顺序。
-
前置检查(强制):每次对服务器做修改类操作(改配置、改站点、改 Node 项目、重启服务等)之前,必须先检查目标项目及周边项目/应用(如通过宝塔 API
get_project_list看 Node 项目状态、或 SSH 看进程与端口),确认修改不会导致其他应用不可用后再执行;执行后再次确认目标与周边状态正常。 -
PHP 5.6 / Discuz 防护(强制):发现 PHP 5.6 必须升级(至少 7.4);Discuz 站点必须加固目录权限、Nginx 路径封堵、PHP disable_functions;www 用户 shell 设为
/sbin/nologin并锁定密码。详见 Q6 及「分布式算力管控 SKILL §11.3」。 -
Docker API 安全(强制 · 最高优先级):Docker daemon 禁止 TCP 监听(
-H tcp://0.0.0.0:2375),仅用 unix socket。iptables 必须 DROP 2375 端口。发现busybox:latest镜像立即删除并排查入侵。2026-03 KR 宝塔被入侵的真正根因就是 Docker API 暴露。详见「分布式算力管控 SKILL §11.1 类型五」。 -
已付款但后台无订单排障:电商/PHP 老站出现“用户付款成功但后台订单 ID 不显示”时,先查真实服务器与数据库,再查支付表和订单表映射;若
pay.status=1但orders.tradeno缺失,按本 Skill §1.2 处理并安装兜底任务。 -
KR 宝塔 CPU 过载防复发:先查
vmstat区分 CPU 计算、I/O 等待和数据库阻塞,再查ps的父子进程;发现 PM2 重启计数异常时,停止并删除 PM2 进程,禁用pm2-root/pm2-www,统一迁移到宝塔 Node 项目管理。不要只看宝塔首页负载百分比。 -
腾讯云 CDB 连接保护:KR 上 PHP/Node 数据库统一使用腾讯云 CDB;数据库端口不可达时,不重建本地数据库、不改数据库归属。连续失败后给受影响站点快速返回 503,防止 PHP-FPM 请求堆积;数据库恢复后连续成功再自动解除保护。KR 已部署
kr-cdb-guard.timer每分钟检查 CDB。 -
Docker 域名登记闭环:Docker 容器、宝塔 Docker 网站数据库、Nginx vhost、阿里云 DNS、SSL 证书必须分别核对。只看到容器运行不算完成;必须验证 DNS→KR IP、Nginx→实际端口、证书→域名、HTTPS→应用响应,并保存
docker.db备份。 -
反代 502 定位:先从 Nginx vhost 读取 HTTPS 实际
proxy_pass,再用ss -lntp和本机 curl 验证端口;禁止凭项目名称猜端口。HTTP 与 HTTPS 可能使用不同上游,必须分别检查。曾发现souldevHTTPS 仍指向已不存在的 9092,修正为实际soul-api:8080后恢复。 -
DNS 迁移防假成功:域名从存客宝迁到 KR 后,必须用公共 DNS 查询确认 A 记录为
43.139.27.93,再用curl --resolve 域名:443:43.139.27.93验证 KR 本机入口;不能只看本机缓存或宝塔站点列表。 -
新服务器交付闭环:购买后必须登记实例ID、IP、套餐、金额、到期时间、续费方式和业务归属;完成宝塔、VPN/代理、FRP、网站健康页、安全基线和云平台/服务器/公网三层验收。账号密码和密钥只写
运营中枢/私密配置/账号密码与API私密总表.md及600权限配置文件。
KR 宝塔稳定性标准验收
# 1. 负载与 I/O
uptime
vmstat 1 5
# 2. 禁止 PM2 重启风暴
pgrep -af 'PM2|ProcessContainerFork' || true
systemctl is-enabled pm2-root pm2-www 2>/dev/null || true
# 3. 腾讯云数据库连通性
timeout 5 bash -c '</dev/tcp/数据库域名/数据库端口' && echo CDB_OK || echo CDB_FAIL
# 4. Nginx 与域名
/www/server/nginx/sbin/nginx -t
dig +short 域名 @223.5.5.5
curl --resolve 域名:443:43.139.27.93 -k -I https://域名/
# 5. Docker 面板登记
sqlite3 /www/server/panel/data/db/docker.db 'select count(*) from docker_sites; select count(*) from docker_domain;'
详细复盘:02_卡人(水)/水溪_整理归档/经验库/待沉淀/2026-07-14_kr宝塔_CPU_Docker域名_SSL腾讯云CDB防复发.md
一键操作
0.0 东京FRP多设备统一接入
- Skill:
东京FRP多设备统一接入/SKILL.md - 规范:
references/东京FRP多设备统一接入规范.md - 端口登记:
references/东京FRP设备端口登记.json - 配置生成器:
python3 scripts/生成东京FRP设备配置.py --help - 新设备必须先查东京现场监听,再从登记表分配端口;禁止把真实token写进文档。
0. 卡若AI 网关 / 内网穿透(固定域名 kr-ai.quwanzhi.com)
- 标准方案(阿里云 DNS + 宝塔 Nginx + 网关部署):读
references/内网穿透与域名配置_卡若AI标准方案.md。 - kr宝塔(网关所在):一键部署
bash 01_卡资(金)/金仓_存储备份/服务器管理/scripts/部署卡若AI网关到kr宝塔.sh - 存客宝(站点用宝塔 API):部署到存客宝的站点/域名一律用宝塔 API 处理。卡若AI 站点:
python3 scripts/存客宝_宝塔API_卡若AI网关站点.py(需将执行机 IP 加入存客宝面板 API 白名单)。 - 调用命令:
curl -s -X POST "https://kr-ai.quwanzhi.com/v1/chat" -H "Content-Type: application/json" -d '{"prompt":"你的问题"}' | jq -r '.reply' - 以后需配置内网穿透/新域名时,不询问用户,直接按该方案生成子域名并配置;存客宝上改站点/Nginx 用 API,见
references/宝塔api接口文档.md。 - frps 与阿里云全量解析:frps 只在 kr 宝塔;阿里云上业务用 A/AAAA 指向
42.194.245.239的条目迁移后改为43.139.27.93,并与腾讯云 kr 安全组、frps全量 remote_port 对齐,见references/FRP与阿里云DNS统一至kr宝塔_迁移与验收.md。
站点/Nginx/SSL 被拒时的降级:宝塔 API 报「IP 校验失败」或无法连接时 → ① 用 SSH 在服务器上直接写 Nginx、重载,或在服务器内用 127.0.0.1:9988 调宝塔 API(免白名单);② 若 SSH 不可用 → 用 腾讯云 TAT/API 下发命令在机内执行。见本 SKILL 强制规则第 7 条。
1. 检查服务器状态
# 运行快速检查脚本(需各服务器 API 白名单含本机 IP)
python3 "/Users/karuo/Documents/个人/卡若AI/01_卡资(金)/金仓_存储备份/服务器管理/脚本/快速检查服务器.py"
1.0a 腾讯云 API 重启宝塔 + IP 封禁处理
# 重启存客宝、kr宝塔(会解除 fail2ban 内存封禁)
python3 "01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_宝塔服务器重启.py"
IP 解封:见 references/SSH登录方式与故障排查.md § 六。优化单行:IP="公网IP"; for j in sshd ssh-iptables; do fail2ban-client set "$j" unbanip "$IP" 2>/dev/null; done
1.1 磁盘臃肿 · 全方位检查与清理(SSH/API 不可用时)
当 SSH 或宝塔 API 无法远程连接时,在宝塔面板 → 终端执行:
- 脚本:
运营中枢/工作台/宝塔_全方位检查与磁盘清理_一键脚本.sh - 操作指南:
运营中枢/工作台/宝塔_服务器检查与清理_操作指南.md
脚本会:检查负载/内存/磁盘、分析大目录与日志占用、执行 8 步清理(journalctl、apt、/tmp、网站日志、宝塔日志等)、输出清理前后 df 对比。完成后到面板【文件】→【回收站】清空。
1.2 www.quwanzhi.com 已付款但后台订单缺失
适用场景:用户反馈 www.quwanzhi.com 已收款,但后台“订单管理”没有订单 ID。
定位顺序:
- 先确认真实线上机:
www.quwanzhi.com在存客宝42.194.245.239,腾讯云实例ins-ciyv2mxa,站点目录/www/wwwroot/www.quwanzhi.com。 - 宝塔 API/SSH 不通时,直接用腾讯云 TAT 进入机器内执行 PHP/MySQL 查询。
- 查支付表与订单表:
shua_pay是付款记录,shua_orders是后台订单列表;后台列表 SQL 在admin/list-table.php,按id desc排序。 - 若
shua_pay.status=1且shua_orders.tradeno没有同交易号,说明支付成功但转单漏掉。
处理原则:
- 商品订单只补
tid>0且金额大于 0 的已付款记录;余额充值等tid<=0不补进商品订单。 - 补入
shua_orders时保持status=0、djzt=0,让后台人工继续交付,避免误标已完成。 - 目标订单若需要让后台第一页直接可见,可删除旧补单记录后重插,使它获得最新
id;保留原addtime与tradeno。
2026-05-16 已处理案例:
- 交易号:
20260516124558702 - 商品:
manus账号 - 金额:
50.00 - 后台订单 ID:
5359 - 验证:
remaining_missing_product_orders=0
防复发兜底:
- 存客宝已安装脚本:
/root/quwanzhi_reconcile_paid_orders.php - 每 5 分钟执行:
*/5 * * * * /www/server/php/74/bin/php /root/quwanzhi_reconcile_paid_orders.php >> /www/wwwlogs/quwanzhi_order_reconcile.log 2>&1
完整经验记录:02_卡人(水)/水溪_整理归档/经验库/待沉淀/2026-05-16_quwanzhi_paid_order_missing_reconcile.md
1.3 kr_wb.quwanzhi.com 首页「白板会话探测暂时不可用」503
适用场景:浏览器打开 https://kr_wb.quwanzhi.com/ 仅见纯文本「白板会话探测暂时不可用,请稍后刷新或由运维检查数据库。」(HTTP 503)。
定位顺序:
- DNS → kr宝塔
43.139.27.93(ins-aw0tnqjo);Nginxnode_kr_wb.conf反代127.0.0.1:3915(勿误指3910的karuo-whiteboard)。 - 项目目录:
/www/wwwroot/self/kr_wb;数据 SQLite:data/whiteboard/board.sqlite(不是空的board.db)。 - 首页 middleware 会
fetch /api/board/front-session;该 API 500 时生产环境返回上述 503 文案(见middleware.ts)。 - 常见根因:
better-sqlite3与运行 Node 版本 ABI 不一致——模块按 Node 22 编译(NODE_MODULE_VERSION 127),宝塔 Node 项目却用 Node 20(115)启动 → API 读库抛错。
处理:
# 机内验证(TAT/SSH)
readlink /proc/$(ss -tlnp | grep 3915 | sed -n 's/.*pid=\([0-9]*\).*/\1/p'|head -1)/exe
cd /www/wwwroot/self/kr_wb
/www/server/nodejs/v20.18.0/bin/node -e "require('better-sqlite3')" # 若报 MODULE_VERSION 127/115 即命中
/www/server/nodejs/v22.14.0/bin/node -e "require('better-sqlite3')" # 应 OK
# 方案 A(推荐):Node 项目 / pm2 改用 v22.14.0,cwd 必须为 self/kr_wb
# ecosystem.config.js:interpreter=/www/server/nodejs/v22.14.0/bin/node,next start -p 3915
# 方案 B:坚持用 Node 20 则在项目目录执行
# /www/server/nodejs/v20.18.0/bin/npm rebuild better-sqlite3
验收:
curl -fsS http://127.0.0.1:3915/api/board/front-session返回 JSON(非 500)。curl -sI https://kr_wb.quwanzhi.com/为 307 → /login 或 200 HTML,不再是 503 纯文本。- 未登录时进登录页属正常(
whiteboard_require_login=1);默认管理员密码见库内admin_password_hash(迁移默认k123456)。
2026-05-18 已处理:切换运行时为 Node v22.14.0,更新 ecosystem.config.js,pm2 托管 kr_wb 监听 3915。
完整经验:02_卡人(水)/水溪_整理归档/经验库/待沉淀/2026-05-18_kr_wb_session_probe_503_node_abi.md
1.4 龙虾 u 盘 API · Sub2API 本机 Docker(AI API 中转站)
适用:本机 Mac 用 Docker 跑 Sub2API,品牌 龙虾 u 盘 API(私有 OpenAI/Claude/Gemini 网关)。
真源路径:/Users/karuo/Documents/开发/4、小工具/龙虾U盘API/sub2api-deploy/
完整 SOP:references/龙虾U盘API_Sub2API本机Docker部署SOP.md
经验库:02_卡人(水)/水溪_整理归档/经验库/待沉淀/2026-05-21_龙虾U盘API_Sub2API本机Docker部署与定制.md
# 构建 + 启动 + 账号/Key 初始化
cd "/Users/karuo/Documents/开发/4、小工具/龙虾U盘API/sub2api-deploy"
docker build --build-arg NODE_IMAGE=node:22-alpine -t longxia-sub2api:local .
cd deploy && docker compose -f docker-compose.local.yml up -d
python3 ../scripts/setup_longxia_accounts.py
强制踩坑:
- Dockerfile 默认
node:24-alpine→ 改用 node:22-alpine - 损坏的
frontend/pnpm-workspace.yaml(无 packages)→ 删除后再 build - API Key 批量创建:用户登录
POST /api/v1/keys(勿用 admin POST/admin/users/{id}/api-keys,会 404) - 前端定制后须 pnpm build + docker build 才进容器
访问:http://127.0.0.1:8080 · 文档 /docs/index.html · 凭证见项目 开发文档/账号与API密钥.md
1.5 www.quwanzhi.com 彩虹发卡站 · 首页 / SEO / 导航 / 商品说明
适用:老坑爹商城(PHP 彩虹/shua 发卡)改分类图、logo、SEO 补充、导航文案、商品默认选中、说明区微信/流程图。
真源:存客宝 42.194.245.239 · /www/wwwroot/www.quwanzhi.com · 模板 argon · 配置表 shua_config(非 config.php)。
完整 SOP:references/www.quwanzhi.com_彩虹发卡站前端SEO与模板迭代SOP.md
经验库:02_卡人(水)/水溪_整理归档/经验库/待沉淀/2026-05-21_quwanzhi_彩虹发卡站首页SEO导航商品说明优化.md
| 需求 | 改哪里 |
|---|---|
| 分类灰块/404 | shua_class.shopimg + assets/img/Product/;统一 1200×800 + common.css .card-img-top 3:2 |
| Logo | assets/img/logo.png($logo,备份 logo_old.png) |
| SEO 补充(不动原 keywords/description) | template/argon/head.php 追加 OG / canonical / JSON-LD |
| 导航三按钮 | head.php header-body;合伙人文案;gift_open=0 去抽奖 |
| 默认热销商品 | ajax.php gettool JOIN pre_orders status=1;main.js 默认 data.data[0].tid |
| 商品说明清晰 | assets/img/product-desc/ + main.js formatProductDesc() + #alert_frame |
2026-05-21 已验收:9 分类图 1200×800;老坑爹 logo;SEO 追加;三导航等宽;说明区微信 w28533368 + 流程图 + 复制。
踩坑:无 ImageMagick → PHP GD 裁图;shua_tools 无 sales 列;外网 curl 遇 sec_defend;SQL 代码前缀 pre_ = 表 shua_。
2.0 银掌柜 yzg.quwanzhi.com · 腾讯云 COS + TAT(免 SSH 上传代码)
本地打包 api+admin → COS PutObject → 预签名 URL → TAT RunCommand 在 kr CVM(ins-aw0tnqjo)内 curl 解压、npm ci && npm run build、重启 3081/8100。凭证同 § 腾讯云;依赖 pip install cos-python-sdk-v5 tencentcloud-sdk-python-tat(macOS Homebrew Python 可加 --break-system-packages)。
python3 "01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_COS_TAT_银掌柜上传部署.py" --dry-run # 仅打 tar
python3 "01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_COS_TAT_银掌柜上传部署.py" # 上传并部署
# 可选:YINZHANGUI_COS_BUCKET、YINZHANGUI_SRC_DIR、YINZHANGUI_CVM_INSTANCE_ID;未指定桶时自动 ListBuckets(优先非 wordpress-serverless)
2.0b 卡若会议电视白板 · COS + TAT(与银掌柜同链路)
白板源码默认:~/Documents/开发/8、小工具/卡若会议电视白板/whiteborad。打包 → COS → ins-aw0tnqjo TAT:npm ci、npm run build,next start 监听 3910(WHITEBOARD_LISTEN_PORT),目录 /www/wwwroot/karuo-whiteboard。保留线上 .env.local 与 data/whiteboard。
真源与降级顺序(SSH → 腾讯云 COS+TAT → 阿里云 OSS+TAT):详见 references/KR宝塔_卡若白板_上传部署_SKILL.md(正文写在卡若AI 仓库,勿放到 Cursor 内置 skills 目录)。
腾讯云 TAT + 宝塔 HTTP API 编排(本机直连 43.139.27.93:9988 需白名单;TAT 机内调 127.0.0.1:9988 免白名单):scripts/腾讯云_kr宝塔_API编排客户端.py(子命令 bt-node-list、bt-node-start、tat-bt-node-list、tat-exec)。
python3 "01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_COS_TAT_卡若白板上传部署.py" --dry-run
python3 "01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_COS_TAT_卡若白板上传部署.py"
# 可选 env:WHITEBOARD_SRC_DIR、WHITEBOARD_COS_BUCKET(避免 ListBuckets)、WHITEBOARD_REMOTE_ROOT、WHITEBOARD_LISTEN_PORT
若 COS 报错 InvalidAccessKeyId:控制台轮换密钥后再写 00_账号与API索引.md 或本次 export TENCENTCLOUD_*。若 COS 整条链路不可用:用 scripts/阿里云_OSS_卡若白板包上传.py 把 tar 传到阿里云 OSS,按脚本打印的 --tat-url 调用同一 腾讯云_COS_TAT_卡若白板上传部署.py(包走阿里云 HTTPS,TAT 仍走腾讯云在 kr 机内 curl 解压;需事先配置 ALIYUN_OSS_BUCKET / ALIYUN_OSS_ENDPOINT 与 pip install oss2)。
kr 上 better-sqlite3:需 Python 3.9(/usr/bin/python3.9 须可执行)+ gcc-toolset-11(dnf install -y gcc-toolset-11-gcc-c++);首次部署已在本机 SSH 流程中自动安装并修复过 python3.9 权限。
免 COS 直传(推荐备用):
export WHITEBOARD_KR_SSH_PASS='<kr root 密码>'
bash "01_卡资(金)/金仓_存储备份/服务器管理/scripts/腾讯云_SSH_kr宝塔_卡若白板上传部署.sh"
2. 部署 Node 项目(标准流程)
# 1. 压缩项目(排除无用目录)
cd /项目路径
tar --exclude='node_modules' --exclude='.next' --exclude='.git' \
-czf /tmp/项目名_update.tar.gz .
# 2. 上传到服务器(kr宝塔,端口 22022,密码 zhiqun1984)
sshpass -p 'zhiqun1984' scp -P 22022 /tmp/项目名_update.tar.gz root@43.139.27.93:/tmp/
# 3. SSH部署
sshpass -p 'zhiqun1984' ssh -p 22022 root@43.139.27.93
cd /www/wwwroot/项目名
rm -rf app components lib public styles *.json *.js *.ts *.mjs *.md .next
tar -xzf /tmp/项目名_update.tar.gz
pnpm install
pnpm run build
rm /tmp/项目名_update.tar.gz
# 4. 宝塔 Node 重启(只用宝塔 API,不用 PM2)
# 批量启动:在服务器内执行 scripts/kr宝塔_node项目批量修复.py
# 详见 references/宝塔Node项目管理_SKILL.md
3. SSL证书检查/修复
泛域名证书管理:两台服务器管理两个域名的泛域名证书,通过 acme.sh + 阿里云 DNS API(dns_ali)自动续签。
- 阿里云 AK(2026-04-28 更新):
LTAI5t81kCJgURvX715UTw8N,已配置在两台服务器的/root/.acme.sh/account.conf和本机aliyunCLI 中 - 旧 AK 已废弃:
LTAI5t9zkiWmFtHG8qmtdysW(已删除)、LTAIxvJUmlt2gLiY(泄露封禁),均不可用
| 域名 | 部署脚本 | 覆盖范围 |
|---|---|---|
*.quwanzhi.com |
/root/ssl_deploy_wildcard.sh |
仅 *.quwanzhi.com 站点 |
*.lytiao.com |
/root/ssl_deploy_lytiao.sh |
仅 *.lytiao.com 站点 |
- 自动续签:acme.sh crontab 每日检查,续签后自动执行对应部署脚本
- 注意:
ssl_deploy_wildcard.sh已过滤,只部署quwanzhi.com子域名,不会覆盖lytiao.com证书
# 手动续签 quwanzhi.com 泛域名证书(两台服务器均可执行)
ssh -p 22022 root@<IP> "export Ali_Key='LTAI5t81kCJgURvX715UTw8N' Ali_Secret='qog3BPs7fCeYNLKWL5xOGkpqsAhAqK' && /root/.acme.sh/acme.sh --issue -d quwanzhi.com -d '*.quwanzhi.com' --dns dns_ali --force --server letsencrypt && /root/ssl_deploy_wildcard.sh"
# 手动续签 lytiao.com 泛域名证书(两台服务器均可执行)
ssh -p 22022 root@<IP> "export Ali_Key='LTAI5t81kCJgURvX715UTw8N' Ali_Secret='qog3BPs7fCeYNLKWL5xOGkpqsAhAqK' && /root/.acme.sh/acme.sh --issue -d lytiao.com -d '*.lytiao.com' --dns dns_ali --force --server letsencrypt && /root/ssl_deploy_lytiao.sh"
# 检查所有服务器SSL证书状态
python3 "/Users/karuo/Documents/个人/卡若AI/01_卡资(金)/金仓_存储备份/服务器管理/脚本/ssl证书检查.py"
4. Node 项目批量启动(kr宝塔,只用宝塔 API,不用 PM2)
脚本 scripts/kr宝塔_node项目批量修复.py 须在服务器内执行:
# SSH 管道(账号 ckb,密码 zhiqun1984)
sshpass -p 'zhiqun1984' ssh -p 22022 -o StrictHostKeyChecking=no ckb@43.139.27.93 'python3 -' < "01_卡资(金)/金仓_存储备份/服务器管理/scripts/kr宝塔_node项目批量修复.py"
SSH 风控时,在 kr宝塔 宝塔面板 → 终端 上传脚本后执行。详见 references/宝塔Node项目管理_SKILL.md。
kr宝塔 中文目录改英文迁移(删映射、重命名为英文、更新 site.db/Nginx、只用宝塔 Nginx、启动 Node):
# 宝塔终端执行(推荐):上传 scripts/kr宝塔_中文目录改英文_宝塔终端执行.sh 后 bash 执行
# 或 TAT:./scripts/.venv_tx/bin/python scripts/腾讯云_TAT_kr宝塔_中文目录改英文迁移.py
迁移后路径:/www/wwwroot/self/、/www/wwwroot/client/、/www/wwwroot/ext/(不再使用 自营/客户/扩展)。
4a. www.lytiao.com Docker 化(存客宝 · 可多服务器复用)
⚠️ 端口:历史上存客宝 8080 被 frps 占用故文档用 8090;frps 迁至 kr 后若本机 8080 空闲可改回(以实际监听为准)。Docker 拉取受国内网络影响,TAT 可能失败,推荐宝塔终端手动执行。
# 方式 1:宝塔终端(推荐)
# 打开 https://42.194.245.239:9988 → 终端 → 复制 存客宝_lytiao_Docker部署_宝塔终端执行_完整版.sh 整段内容粘贴
# 方式 2:腾讯云 TAT(网络良好时)
./scripts/.venv_tx/bin/python scripts/腾讯云_TAT_存客宝_lytiao_快速部署.py
# 方式 3:SSH 部署(SSH 可用时)
bash scripts/存客宝_lytiao_Docker部署.sh
部署后访问 http://42.194.245.239:8090。详见 references/lytiao_Docker部署说明.md。
5. kr宝塔 运行堵塞 + Node 深度修复
- 负载诊断:
./scripts/.venv_tx/bin/python scripts/腾讯云_TAT_kr宝塔_负载诊断.py(只读,输出负载/CPU/Node 进程) - 负载分析文档:
references/kr宝塔_负载100_原因分析与处理.md - 运行堵塞修复:结束异常 node、停 Node、修复 site.db、批量启动。
- TAT:
./scripts/.venv_tx/bin/python scripts/腾讯云_TAT_kr宝塔_运行堵塞与Node深度修复.py - 宝塔终端(推荐):上传
scripts/kr宝塔_运行堵塞与Node深度修复_宝塔终端执行.sh后bash执行。
5b. kr宝塔 网络卡/服务器卡 · 检查与处理
- 文档:
references/kr宝塔_网络与服务器卡顿_检查与处理.md - 带宽使用情况(近24h):运行
scripts/kr宝塔_腾讯云带宽与CPU近24h.py(建议用scripts/.venv_tx/bin/python,依赖 tencentcloud-sdk-python-monitor)。结论:出带宽最大已顶满 5M,属带宽卡主因;处理见文档「六、直接处理」。 - SSH:
ssh -p 22022 -i "服务器管理项目/Steam/id_ed25519" root@43.139.27.93(私钥须chmod 600) - 本机快速检查:
ping 43.139.27.93、nc -zv 43.139.27.93 22022 - 服务器内诊断与限流:在 宝塔面板终端 执行文档「六」中 6.1~6.3 命令(连接数、按 IP 统计、Nginx 限速)。
- 502 修复(如 soul / yzg.quwanzhi.com)(需 kr 面板 API 白名单):① 推荐(按 vhost 反查上游):
python3 scripts/kr宝塔_宝塔API_域名502读vhost重启上游.py yzg.quwanzhi.com(读 Nginx 配置 → 打印 root 与 /admin 风险提示 → 重启对应 Node 端口 或尝试 PHP-FPM → 再启 Nginx)。② 按项目名关键词:python3 scripts/kr宝塔_宝塔API_修复502.py --only yzg。③ 面板/SSH:nginx -t && /www/server/nginx/sbin/nginx -s reload(路径以机内为准)后,在「Node 项目」或 PHP 服务中手动重启上游。详见各脚本头注释与文档 6.6。 - yzg.quwanzhi.com(银掌柜):Nginx
/→ 127.0.0.1:3081(Next standalone,/www/wwwroot/self/yzg/yinzhangui/admin/start.sh内PORT=3081);/api/→ 127.0.0.1:8100(yinzhangui/apiFastAPI)。502 典型根因:3081/8100 无监听(日志Connection refused)。2026-03-30 已恢复:PM2 托管start.sh(yzg-yinzhangui-admin)+pm2 save;API 曾用 wwwnohup。后续:按本 SKILL 禁止长期 PM2 的约定,优先迁 宝塔 Node 项目 + Python 守护进程。面板「运行中」仍可能 502 → 以 端口监听 + error.log 为准。「无备份」:开站点备份或计划任务即可(与 502 无关)。
6. 常用诊断命令(kr宝塔等)
# 检查端口占用
ssh -p 22022 root@43.139.27.93 "ss -tlnp | grep :3006"
# ⚠️ 禁止使用 PM2,统一用宝塔 API 管理 Node 项目
# 查看 Node 项目状态:用宝塔 API get_project_list 或 TAT 脚本
# 测试HTTP响应
ssh -p 22022 root@43.139.27.93 "curl -I http://localhost:3006"
# 检查Nginx配置
ssh -p 22022 root@43.139.27.93 "nginx -t"
# 重载Nginx
ssh -p 22022 root@43.139.27.93 "nginx -s reload"
# DNS解析检查
dig soul.quwanzhi.com +short @8.8.8.8
端口配置表(kr宝塔 43.139.27.93)
| 端口 | 项目名 | 类型 | 域名 | 状态 |
|---|---|---|---|---|
| 3000 | cunkebao | Next.js | mckb.quwanzhi.com | ✅ |
| 3001 | ai_hair | NestJS | ai-hair.quwanzhi.com | ✅ |
| 3002 | kr_wb | Next.js | kr_wb.quwanzhi.com | ✅ |
| 3003 | hx | Vue | krjzk.quwanzhi.com | ⚠️ |
| 3004 | dlmdashboard | Next.js | dlm.quwanzhi.com | ✅ |
| 3005 | document | Next.js | docc.quwanzhi.com | ✅ |
| 3006 | soul | Next.js | soul.quwanzhi.com | ✅ |
| 3015 | 神射手 | Next.js | kr-users.quwanzhi.com | ⚠️ |
| 3018 | zhaoping | Next.js | zp.quwanzhi.com | ✅ |
| 3021 | is_phone | Next.js | is-phone.quwanzhi.com | ✅ |
| 3031 | word | Next.js | word.quwanzhi.com | ✅ |
| 3036 | ymao | Next.js | ymao.quwanzhi.com | ✅ |
| 3043 | tongzhi | Next.js | touzhi.lkdie.com | ✅ |
| 3045 | 玩值大屏 | Next.js | wz-screen.quwanzhi.com | ✅ |
| 3050 | zhiji | Next.js | zhiji.quwanzhi.com | ✅ |
| 3051 | zhiji1 | Next.js | zhiji1.quwanzhi.com | ✅ |
| 3055 | wzdj | Next.js | wzdj.quwanzhi.com | ✅ |
| 3305 | AITOUFA | Next.js | ai-tf.quwanzhi.com | ✅ |
| 9528 | mbti | Vue | mbtiadmin.quwanzhi.com | ✅ |
| 3081 | 银掌柜管理端(Next standalone) | Node | yzg.quwanzhi.com(/) |
✅(2026-03-30 修复:须监听 3081,与 admin/start.sh 一致) |
| 8100 | 银掌柜 API(FastAPI) | Python | yzg.quwanzhi.com(/api/) |
✅(建议改 systemd/宝塔守护,避免仅 nohup) |
端口分配原则
- 3000-3099: Next.js / React 项目
- 3100-3199: Vue 项目
- 3200-3299: NestJS / Express 后端
- 3300-3399: AI相关项目
- 9000-9999: 管理面板 / 特殊用途
核心工作流程
┌─────────────────────────────────────────────────────────────────────────────┐
│ Node项目一键部署流程 │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ START │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 1. 压缩本地代码 │ 排除 node_modules, .next, .git │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 2. 上传到服务器 │ scp 到 /tmp/ │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 3. 清理旧文件 │ 保留 .env 等配置文件 │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 4. 解压新代码 │ tar -xzf │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 5. 安装依赖 │ pnpm install │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 6. 构建项目 │ pnpm run build │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 7. 宝塔面板重启 │ Node项目 → 重启 │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────┐ │
│ │ 8. 验证访问 │ curl https://域名 │
│ └────────┬─────────┘ │
│ │ │
│ ▼ │
│ SUCCESS │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
操作优先级矩阵
| 操作类型 | 优先方式 | 备选方式 | 说明 |
|---|---|---|---|
| 查询信息 | ✅ 宝塔API | SSH | API稳定 |
| 文件操作 | ✅ 宝塔API | SSH | API支持 |
| 配置Nginx | ✅ 宝塔API | SSH | API可读写 |
| 重载服务 | ⚠️ SSH | - | API无接口 |
| 上传代码 | ⚠️ SSH/scp | - | 大文件 |
| 添加项目 | ❌ 宝塔界面 | - | API不稳定 |
常见问题速查
Q0: 宝塔 443 不监听(Connection refused)【优先检查】
现象:80 可达、443 不可达,安全组/证书/nginx -t 均正常。
根因:运行的是系统 Nginx(/usr/sbin/nginx),非宝塔 Nginx。系统 Nginx 配置不含宝塔 vhost 的 listen 443。
解决(任选):
# 宝塔终端
killall nginx; sleep 2; /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf
或 TAT:python3 scripts/腾讯云_TAT_存客宝_Nginx443强制修复.py
防重复:宝塔服务器 443 不监听时,先 ps aux | grep nginx 确认是否系统 Nginx,再查安全组/证书。详见 _经验库/已整理/运维经验/宝塔443不监听_系统nginx与宝塔nginx优先排查.md。
Q1: 外网无法访问(ERR_EMPTY_RESPONSE)
原因: 腾讯云安全组只开放443端口
解决:
- 必须配置SSL证书
- Nginx配置添加443监听
Q2: Node项目启动失败(Could not find production build)
原因: 使用 npm run start 但未执行 npm run build
解决: 先 pnpm run build 再重启
Q3: 端口冲突(EADDRINUSE)
解决:
# 检查端口占用
ss -tlnp | grep :端口号
# 修改package.json中的端口
"start": "next start -p 新端口"
Q4: DNS被代理劫持
现象: 本地DNS解析到198.18.x.x
解决:
- 关闭代理软件
- 或用手机4G网络测试
Q4a: KR 已部署成功但 souladmin 打开成存客宝官网
现象:/www/wwwroot/self/soul-admin/dist 已是新版本,但公网 https://souladmin.quwanzhi.com/ 标题显示“存客宝 · 企业私域增长系统”。
根因:souladmin.quwanzhi.com DNS 解析到 42.194.245.239(存客宝机),不是 kr 43.139.27.93。
处理:
dig +short souladmin.quwanzhi.com与dig +short soulapi.quwanzhi.com;- 把
souladminA 记录改到43.139.27.93; - 部署验收时校验页面指纹:
id=\"root\"或标题管理后台 - Soul创业派对,不要只看 HTTP 200。
Q5: 禁止 PM2(强制)
规则:所有腾讯云宝塔服务器,Node 项目统一用宝塔 Node API 管理(启停/重启/状态),严禁使用 PM2。操作前先确认是否为宝塔服务器。
解决:
- 如发现 PM2 残留:
pm2 kill(清理后不再使用) - 在宝塔面板【网站】→【Node 项目】管理启动/停止
- 批量操作见
references/宝塔Node项目管理_SKILL.md
Q6: PHP 5.6 / Discuz 漏洞防护(⚠️ 2026-02 入侵根因)
背景:2026-02 KR 宝塔服务器遭 Mirai 僵尸网络 + 挖矿木马入侵,根因是 www.lkdie.com / db.lkdie.com 的 Discuz 论坛运行在已 EOL 的 PHP 5.6,攻击者通过 Discuz 已知漏洞获取 www 用户权限后投放恶意程序。
强制规则(Rule 10):
- PHP 5.6 必须升级到至少 7.4,推荐 8.0+
- Discuz 目录权限收紧:
uc_server/data/、data/cache/禁执行 PHP - Nginx 层封堵:
/uc_server/、/misc.php、.sql/.bak等路径 deny all - PHP disable_functions:禁用
exec,system,passthru,shell_exec,proc_open,popen - www 用户:shell 设为
/sbin/nologin,密码随机化并锁定 - 定期扫描:每周运行
threat_scanner_v2.sh,详见「分布式算力管控 SKILL §11」
修复步骤:
# 1. 宝塔面板 → 软件商店 → 安装 PHP 7.4
# 2. 安装 Discuz 必要扩展:mysql,gd,curl,mbstring,xml,openssl
# 3. 备份数据库和站点文件
mysqldump -u root -p 数据库名 > /tmp/discuz_backup.sql
tar -czf /tmp/discuz_files_backup.tar.gz /www/wwwroot/论坛路径/
# 4. 宝塔面板 → 站点设置 → 切换 PHP 版本到 7.4
# 5. 测试站点功能
# 6. 确认无问题后卸载 PHP 5.6
完整攻防体系见:01_卡资(金)/金仓_存储备份/分布式算力管控/SKILL.md 第十一节。
安全约束
服务器迁移传输规则(2026-07-20)
- 两台服务器之间迁移项目、镜像、备份和配置时,默认使用服务器到服务器直连传输(
rsync/scp/ SSH 管道)。 - 先验证目标机 SSH、防火墙、磁盘空间和校验工具,再从源服务器直接推送到目标服务器。
- 不使用 COS、对象存储或本机作为中转链路;只有用户当次明确指定时才启用中转。
- 传输完成必须核对文件大小与 SHA-256,确认一致后再部署。
绝对禁止
- ❌ 输出完整密码/密钥到聊天
- ❌ 执行危险命令(rm -rf /, reboot等)
- ❌ 跳过验证步骤
- ❌ 使用独立PM2(避免与宝塔冲突)
必须遵守
- ✅ 操作前检查服务器状态
- ✅ 操作后验证结果
- ✅ 生成操作报告
相关脚本
| 脚本 | 功能 | 位置 |
|---|---|---|
腾讯云_TAT_kr宝塔_中文目录改英文迁移.py |
kr宝塔 中文目录改英文、删映射、更新 site.db/Nginx(TAT) | ./scripts/.venv_tx |
kr宝塔_中文目录改英文_宝塔终端执行.sh |
同上,宝塔终端手动执行 | ./scripts/ |
腾讯云_TAT_word_ai_hair_is_phone_诊断修复.py |
word/ai_hair/is_phone 日志诊断、MODULE_NOT_FOUND 修复、重启(宝塔 API) | ./scripts/ |
kr宝塔_node项目批量修复.py |
批量启动 kr宝塔 Node 项目(服务器内执行,宝塔 API) | ./scripts/ |
kr宝塔_宝塔API_修复502.py |
修复 502(重启 Nginx + soul 相关 Node) | ./scripts/ |
快速检查服务器.py |
一键检查所有服务器状态 | ./脚本/ |
一键部署.py |
根据配置文件部署项目 | ./脚本/ |
ssl证书检查.py |
检查/修复SSL证书 | ./脚本/ |
腾讯云_TAT_存客宝_Nginx443强制修复.py |
宝塔 443 不监听:切回宝塔 Nginx | ./scripts/ |
腾讯云_kr宝塔安全组放行FRP全套端口.py |
kr 安全组放行 FRP 全套 TCP(7000/8088/11401/13000…) | ./scripts/ |
阿里云DNS_A记录_存客宝改kr宝塔.py |
阿里云批量 A:42.194.245.239→43.139.27.93(--apply 执行) |
./scripts/ |
tencent_image_snapshot_backup_to_nas.py |
腾讯云镜像/快照备份到 CKB NAS(Mac 挂载版) | ./scripts/腾讯云镜像快照备份到CKB_NAS/ |
deploy_to_nas.sh / tencent_cloud_sync.py |
公司 NAS 本机每日 01:00 检测并同步(/volume1/docker/tencent_cloud) |
同上,见 README_NAS.md |
复盘与输出规范
- 卡若复盘:每次对话结束必须按
运营中枢/参考资料/卡若复盘格式_固定规则.md输出复盘块;反思 1~3 点,每点一句,简洁可执行,不超过 3 条。
宝塔 Node 项目管理(独立 Skill)
- 主 Skill:
references/宝塔Node项目管理_SKILL.md— 凭证、Node API、常见错误、脚本,禁用 PM2 - 强制:所有 Node 项目统一用 宝塔 Node 管理,不用 PM2;确保项目在宝塔上运行
- kr宝塔:
references/kr宝塔_宝塔管理SKILL.md - 存客宝:
references/存客宝_宝塔管理SKILL.md
Node 项目批量启动、502 修复、EADDRINUSE 等均按主 Skill 操作。SSH 风控时优先用宝塔面板终端。
相关文档
| 文档 | 内容 | 位置 |
|---|---|---|
宝塔Node项目管理_SKILL.md |
宝塔 Node 管理独立 Skill(凭证/错误/脚本) | ./references/ |
kr宝塔_宝塔管理SKILL.md |
kr宝塔专用管理 | ./references/ |
存客宝_宝塔管理SKILL.md |
存客宝专用管理 | ./references/ |
卡若复盘格式_固定规则.md |
复盘格式(目标·结果·达成率、过程、反思 1~3 点、总结、下一步) | 运营中枢/参考资料/ |
宝塔api接口文档.md |
宝塔API完整接口说明 | ./references/ |
端口配置表.md |
完整端口分配表 | ./references/ |
常见问题手册.md |
问题解决方案大全 | ./references/ |
腾讯云_站内信安全消息转发邮箱配置.md |
站内信/安全消息转发到指定邮箱(消息接收人+消息订阅) | ./references/ |
部署配置模板.md |
JSON配置文件模板 | ./references/ |
系统架构说明.md |
完整架构图和流程图 | ./references/ |
历史对话整理
kr_wb白板项目部署(2026-01-23)
- 项目类型: Next.js
- 部署位置: /www/wwwroot/kr_wb
- 域名: kr_wb.quwanzhi.com
- 端口: 3002
- 遇到问题: AI功能401错误(API密钥未配置)
- 解决方案: 修改 lib/ai-client.ts,改用 SiliconFlow 作为默认服务
soul项目部署(2026-01-23)
- 项目类型: Next.js
- 部署位置: /www/wwwroot/soul
- 域名: soul.quwanzhi.com
- 端口: 3006
- 部署流程: 压缩→上传→解压→安装依赖→构建→宝塔Node项目添加→配置Nginx→配置SSL(禁止 PM2)
服务器统一命名与FRP中继规则(2026-07-20)
- 宝塔统一名称:轻服务器宝塔、存客宝宝塔、KR宝塔、东京宝塔(房市通·VPN·FRP)。
- 公司CKBNAS公网穿透主中继使用东京服务器43.165.178.230,open.quwanzhi.com 指向东京后由Nginx转发至本机FRP端口。
- NAS FRPC永久真源为 /volume1/docker/frpc/frpc.toml,启动入口为 ~/frp-standalone/start-frpc-main.sh。
- 两台服务器或NAS迁移统一使用SSH/rsync直传,不经过COS中转。
open.quwanzhi.com 公司NAS直连规则(2026-07-24)
- 东京服务器:
43.165.178.230;域名open.quwanzhi.com解析到该机。 - 公网
:5200由东京 Nginx 直接反代本机 FRPS 端口127.0.0.1:5210。 - FRPS
:7000接收公司 CKBNAS 的 FRPC;NAS 本地目标为 DSM:5000。 - 入口不跳 QuickConnect,域名和端口始终保持不变。
- NAS FRPC 由
karuo-frpc-tokyo.service单一托管;不要叠加 Mac 每分钟守护或模糊pkill。