🔄 卡若AI 同步 2026-02-23 06:03 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个

This commit is contained in:
2026-02-23 06:03:49 +08:00
parent 2709ab2ea0
commit 94d3330371
6 changed files with 20 additions and 23 deletions

View File

@@ -1,7 +1,7 @@
---
name: 服务器管理
description: 宝塔服务器统一管理与自动化部署。核心规则:宝塔服务器优先判断,仅用宝塔 API + 宝塔 Node禁用 PM2。
triggers: 服务器、宝塔、部署、SSL、HTTPS、Nginx、内网穿透、域名、kr-ai、ngrok
description: 宝塔服务器统一管理与自动化部署
triggers: 服务器、宝塔、部署、SSL、HTTPS、Nginx、宝塔Node、内网穿透、域名、kr-ai、ngrok
owner: 金仓
group: 金
version: "1.0"
@@ -51,9 +51,9 @@ kr宝塔: qcWubCdlfFjS2b2DMT1lzPFaDfmv1cBT
### 强制规则(每次执行必守)
1. **宝塔服务器优先判断**涉及腾讯云 43.139.27.93kr宝塔、42.194.245.239(存客宝)等服务器时,**优先判断是否为宝塔服务器**若是,一律**仅用宝塔 API + 宝塔 Node** 操作,**禁用 PM2**
2. **SSH 统一配置**:账号 **root**、密码 **Zhiqun1984**Z 大写),端口 22022 或 22或使用 id_ed25519 密钥。详见 `references/SSH登录方式与故障排查.md`
3. **宝塔 443 优先**:宝塔服务器 443 不监听时,**优先**检查是否运行系统 Nginx 而非宝塔 Nginx若是`killall nginx` 后启动宝塔 Nginx。详见 Q0、`_经验库/已整理/运维经验/宝塔443不监听_系统nginx与宝塔nginx优先排查.md`
1. **宝塔优先确认**操作腾讯云服务器时,**先确认是否为宝塔服务器**若是,**统一用宝塔 API + 宝塔 Node 管理,禁止使用 PM2**。所有 Node 项目启停、重启、状态查询一律通过宝塔面板 API`/project/nodejs/start_project``stop_project``get_project_list`
2. **SSH 统一配置**:账号 **root**、密码 **Zhiqun1984**Z 大写),端口 22022 或 22或使用 id_ed25519 密钥。详见 `references/SSH登录方式与故障排查.md`SSH 不通时用 TAT腾讯云自动化助手
3. **宝塔 443 优先**:宝塔服务器 443 不监听时,**优先**检查是否运行系统 Nginx 而非宝塔 Nginx若是`killall nginx` 后启动宝塔 Nginx。
4. **经验沉淀**:每次涉及服务器/宝塔/部署的操作结束后,必须把经验写入 `02_卡人/水溪_整理归档/经验库/待沉淀/`,防止同类问题重复出现。
5. **Skill 迭代**:每次有新的配置、教训、流程变更时,必须同步更新本 SKILL.md 或 references保证下次调用时信息一致。
6. **卡若AI 复盘**每次任务结束必须用卡若AI 复盘格式收尾(目标·结果·达成率、过程、反思、总结、下一步)。
@@ -180,7 +180,7 @@ bash scripts/存客宝_lytiao_Docker部署.sh
- **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.16.3 命令(连接数、按 IP 统计、Nginx 限速)。
- **502/500 修复souladmin.quwanzhi.com**:仅用宝塔 API。本机执行 `kr宝塔_宝塔API_修复502.py`(需将本机 IP 加入 API 白名单);或 TAT 执行 `腾讯云_TAT_kr宝塔_修复souladmin_500.py`。soul.quwanzhi.com/admin 已停用。详见文档 6.6。
- **502 修复(soul.quwanzhi.com/admin**API 方式运行 `scripts/kr宝塔_宝塔API_修复502.py`(需 API 白名单);或到 kr宝塔 **宝塔面板 → 终端** 执行 `nginx -t && nginx -s reload`在「Node 项目」中重启 soul 相关项目。详见文档 6.6。
### 6. 常用诊断命令kr宝塔等
@@ -188,8 +188,8 @@ bash scripts/存客宝_lytiao_Docker部署.sh
# 检查端口占用
ssh -p 22022 root@43.139.27.93 "ss -tlnp | grep :3006"
# 检查PM2进程
ssh -p 22022 root@43.139.27.93 "/www/server/nodejs/v22.14.0/bin/pm2 list"
# ⚠️ 禁止使用 PM2统一用宝塔 API 管理 Node 项目
# 查看 Node 项目状态:用宝塔 API get_project_list 或 TAT 脚本
# 测试HTTP响应
ssh -p 22022 root@43.139.27.93 "curl -I http://localhost:3006"
@@ -360,12 +360,12 @@ ss -tlnp | grep :端口号
- 关闭代理软件
- 或用手机4G网络测试
### Q5: 宝塔与 PM2 冲突
### Q5: 禁止 PM2(强制)
**规则****只用宝塔 Node API 管理项目,禁用 PM2**
**规则****所有腾讯云宝塔服务器Node 项目统一用宝塔 Node API 管理(启停/重启/状态),严禁使用 PM2**。操作前先确认是否为宝塔服务器
**解决**:
- 停止所有独立 PM2: `pm2 kill`
- 如发现 PM2 残留: `pm2 kill`(清理后不再使用)
- 在宝塔面板【网站】→【Node 项目】管理启动/停止
- 批量操作见 `references/宝塔Node项目管理_SKILL.md`
@@ -453,4 +453,4 @@ Node 项目批量启动、502 修复、EADDRINUSE 等均按主 Skill 操作。SS
- 部署位置: /www/wwwroot/soul
- 域名: soul.quwanzhi.com
- 端口: 3006
- 部署流程: 压缩→上传→解压→安装依赖→构建→PM2启动→配置Nginx→配置SSL
- 部署流程: 压缩→上传→解压→安装依赖→构建→宝塔Node项目添加→配置Nginx→配置SSL(禁止 PM2

View File

@@ -216,15 +216,16 @@ python3 "/Users/karuo/Documents/个人/卡若AI/01_卡资/金仓_存储
# 1. 重载 Nginx
nginx -t && nginx -s reload
# 2. 重启 soul 相关 Node(仅用宝塔 API禁用 PM2
# 本机执行 kr宝塔_宝塔API_修复502.py需 API 白名单或宝塔面板「Node 项目」中对该站点点击「重启」
# 2. 重启 soul 相关 Node/PM2按你实际项目名调整
pm2 list
pm2 restart soul # 或 souladmin、soul-api 等
# 若用宝塔「Node 项目」管理,请在面板里对该站点点击「重启」
```
**方式三SSH**(当连接可用时)
```bash
ssh -p 22022 -i "服务器管理/Steam/id_ed25519" root@43.139.27.93 "nginx -s reload"
# 然后通过宝塔 API 或面板重启 Node 项目(禁用 PM2
ssh -p 22022 -i "服务器管理/Steam/id_ed25519" root@43.139.27.93 "nginx -s reload; pm2 restart soul"
```
修复后刷新 soul.quwanzhi.com/admin 或 souladmin.quwanzhi.com 查看是否恢复。

View File

@@ -1,8 +1,6 @@
# 宝塔 Node 项目管理 Skill独立
> **统一管理所有宝塔服务器的 Node 项目**。仅使用宝塔 Node 接口,**禁用 PM2**。本 Skill 集中存放凭证、常见错误与处理、脚本路径。
>
> **强制规则**:涉及腾讯云 kr宝塔/存客宝等服务器时,**优先判断是否为宝塔服务器**;若是,一律**仅用宝塔 API + 宝塔 Node**,禁用 PM2。
---

View File

@@ -19,11 +19,7 @@ def sg(): t=int(time.time()); return {'request_time':t,'request_token':hashlib.m
def post(u,d=None): pl=sg(); (pl.update(d) if d else None); r=urllib.request.Request(P+u,data=urllib.parse.urlencode(pl).encode()); return json.loads(urllib.request.urlopen(r,timeout=15).read().decode())
items=post('/project/nodejs/get_project_list').get('data')or post('/project/nodejs/get_project_list').get('list')or[]
soul_proj=[x for x in items if x.get('name') and ('soul' in (x.get('name')or'').lower() or 'souladmin' in (x.get('name')or'').lower())]
if not soul_proj:
soul_proj=[x for x in items if x.get('name')]
print('soul 相关: 无,重启全部 Node',len(soul_proj),'')
else:
print('soul 相关:',[x.get('name') for x in soul_proj])
print('soul 相关:',[x.get('name') for x in soul_proj])
for it in soul_proj:
n=it.get('name')
try:

View File

@@ -98,3 +98,4 @@
| 2026-02-22 15:08:03 | 🔄 卡若AI 同步 2026-02-22 15:07 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 |
| 2026-02-22 16:00:09 | 🔄 卡若AI 同步 2026-02-22 16:00 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 |
| 2026-02-22 19:02:34 | 🔄 卡若AI 同步 2026-02-22 19:02 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 |
| 2026-02-23 05:52:51 | 🔄 卡若AI 同步 2026-02-23 05:52 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 |

View File

@@ -101,3 +101,4 @@
| 2026-02-22 15:08:03 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 15:07 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-22 16:00:09 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 16:00 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-22 19:02:34 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-22 19:02 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |
| 2026-02-23 05:52:51 | 成功 | 成功 | 🔄 卡若AI 同步 2026-02-23 05:52 | 更新:金仓、运营中枢工作台 | 排除 >20MB: 8 个 | [仓库](http://open.quwanzhi.com:3000/fnvtk/karuo-ai) [百科](http://open.quwanzhi.com:3000/fnvtk/karuo-ai/wiki) |