Files
Nexus/docs/changelog/2026-05-27-agent-install-fix-and-deploy.md
T
2026-07-08 22:31:31 +08:00

2.3 KiB
Raw Blame History

2026-05-27 Agent安装修复 + 两台子服务器Agent部署

变更摘要

  1. 修复 Agent 安装 404 错误(/agent/ 静态文件未挂载)
  2. 修复 curl|bash 管道错误隐藏问题
  3. 修复 CRLF 导致远程 shell 脚本执行失败
  4. 部署 Agent 到两台子服务器

动机

Agent 安装命令一直返回 404,因为 FastAPI 未挂载 /agent/ 静态文件路由。 curl|bash 管道模式会隐藏下载失败。 Windows 工作区给 .sh/.py 文件添加了 CRLF,导致 Linux 上 \r': command not found

涉及文件

后端

  • server/main.py — 新增 app.mount("/agent", StaticFiles(...)) 挂载 web/agent/ 目录
  • server/api/servers.py — 3处 curl ... | bash -s -- 改为 TMP=$(mktemp) && curl ... -o "$TMP" && bash "$TMP" --

前端/Agent

  • web/agent/install.sh — CRLF→LF
  • web/agent/agent.py — CRLF→LF
  • web/agent/agent.sh — CRLF→LF

部署脚本

  • deploy/install.sh — CRLF→LF
  • deploy/health_monitor.sh — CRLF→LF
  • deploy/db_backup.sh — CRLF→LF

根目录

  • .gitattributes — 新增,防止 git 自动转 CRLF*.sh eol=lf, *.py eol=lf

Agent 部署结果

服务器 IP server_id 状态
机器人 66.154.115.131 8 online, agent_version=2.0.0
冲量银海 39.105.228.140 9 online, agent_version=2.0.0

冲量银海额外步骤

  • 需先 apt install python3.11-venvDebian 12 默认不带 python3.11-venv
  • install.sh 第2步 python3 -m venv 在缺少 ensurepip 时会静默失败,source activate 报错

需要迁移/重启

  • 是:需重启 Nexus 后端(Supervisor: supervisorctl restart nexus
  • 是:需 Nginx reloadnginx -s reload
  • 否:无数据库迁移

验证方式

  1. curl https://api.synaglobal.vip/agent/install.sh → 返回脚本内容(非 404
  2. Nexus Dashboard 显示 2 台服务器在线
  3. curl https://api.synaglobal.vip/api/servers/8is_online: true, agent_version: "2.0.0"
  4. curl https://api.synaglobal.vip/api/servers/9is_online: true, agent_version: "2.0.0"

已知问题

  • install.sh 第2步 venv 创建在缺少 python3-venv 时会静默失败,应加检测
  • batch install API 返回 success:false 但无具体错误信息,需改进错误上报