Files
inquiry_robot/prompt/11-部署运维.md
T

91 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 提示词:部署与运行环境
目标环境:甲方 **同一台** Windows Server(`129.211.181.80` / `10_206_0_15`)。现网继续跑 `C:\yutongda`。新系统是**另一套应用**,不要切旧 `ops\active-release.json`,不要占用 8080/8810/8813。现网发布仍按甲方原流程;测试环境用本目录 `12`。
## 同机并存
| 项 | 现网(不动) | 新系统 |
|---|---|---|
| 目录 | `C:\yutongda` | 例如 `C:\ytd-test\` |
| 主账 / 智能体 / AIBOT | 8080 / 8810 / 8813 | 另选端口,例如 8180 / 8910 / 8913 |
| Nginx | `ai.ytd-scm.com` | **同一域名**;切流前不改 `ai.conf` 回调/H5 |
| MySQL / PG / Redis / MinIO | `jeecg-boot`、`ytd_runtime`、`ytd:prod:node01-07`、桶 `ytd-inquiry` | 库 `ytd_test`、`ytd_test_runtime`;Redis **db1** 前缀 `ytd:test:`;桶 `ytd-test` |
| TMS | `03` 现网 BaseURL + Client 三件套 | **原样使用**;只 query,默认不开 lock/release |
| 企微询价应用 | `1000010` | **同一套**,配置抄 `03` |
| 企微运维通知 | `1000014` | **同一套** |
切流替换旧系统时,再把 Nginx 反代指到新端口并停现网 AIBOT 桥,企微后台回调 URL 不用改。然后停下面这份旧清单。
## 切流时停旧:域名与端口
**域名(旧站点,切流后由新系统接管同一名或下线)**
| 地址 | 用途 |
|---|---|
| `https://ai.ytd-scm.com` | 后台静态 + 总入口 |
| `https://ai.ytd-scm.com/jeecgboot/`、`/jeecg-boot/` | 反代旧 Java 8080 |
| `https://ai.ytd-scm.com/wecom/callback` | 企微应用回调 → 旧 8811 |
| `https://ai.ytd-scm.com/wecom/robot/callback` | 群机器人(现网空配置)→ 旧 8812 |
| `https://ai.ytd-scm.com/inquiry-form/` | H5 → 旧 8810 |
| `https://ai.ytd-scm.com/inquiry-form/upload/` | H5 上传 → 旧 8810 |
机器公网 `129.211.181.80`、SSH `22`、Nginx `80/443` **不要关**(新系统还要用)。`www.waxonai.cn` 只是仓库里旧示例 conf,生产以 `ai.ytd-scm.com` 为准。
**本机进程口(停旧应用服务)**
| 端口 | 旧进程 | 切流后 |
|---|---|---|
| 8080 | Java JeecgBoot | 停 |
| 8809 | Python bridge_api | 停 |
| 8810 | Python agent_api | 停 |
| 8811 | Python wecom_callback | 停 |
| 8812 | Python wecom_robot | 停(若在跑) |
| 8813 | AIBOT 仅 127.0.0.1 | 停 |
| (无端口) | wecom/llm/recognition/quote/archive Worker | 停 NSSM |
**不要当「旧询价服务」关掉的**
| 地址 | 原因 |
|---|---|
| 数据机 `10.206.0.14:3306/5432/6379` | 实例共用;只停用库 `jeecg-boot`、`ytd_runtime` 与前缀 `ytd:prod:node01-07` |
| 本机 MinIO `9000` / 控制台 `9001` | 实例共用;只停用桶 `ytd-inquiry` |
| TMS `http://113.106.62.254:3100/sangoe-boot` | 外部系统,新系统继续用 |
| Gitea `gitea.lionqi.com` | 源码,无关运行 |
企微侧切流:后台 `1000010` 回调地址保持 `https://ai.ytd-scm.com/wecom/callback`,只改 Nginx 指到新智能体。停现网 8813 后再起新 AIBOT(同一 Bot)。运维 **`1000014` 仍共用**。测试告警正文带 `[test]`。
## 必须保留的运维原则
1. 制品不可变:新版本写入 `releases\` 新目录,禁止覆盖活动目录。
2. 原子切换指针:`ops\active-release.json` 等;失败自动回指旧版。
3. 互斥锁:禁止两人同时部署。
4. 构建不含 `.env`、密钥、日志、用户附件、数据库 dump。
5. 健康检查 ≠ 业务验收。
6. 并存阶段:禁止真实 TMS **lock/release**、禁止改现网回调与防火墙、禁止改 `C:\yutongda\secure\`。查价可用现网 TMS。测试库 `ytd_test` / `ytd_test_runtime` 的加表加字段按 `05` 直接迁移,不必等批准。
## 进程与端口
新系统自己监听(避开现网):**8180** 主账、**8910** 智能体 HTTP、**8913** AIBOT 回环、一个 Worker。现网 8080/8810/8813 保持原样。
旧 release 的 8809/8811/8812 以及五个旧 Worker:**切流前不要停**。新系统用自己的服务名与端口。发布新版本时停的是 `C:\ytd-test\` 里的旧号,不是 `C:\yutongda`。切流时才把 `ai.conf` 的 inquiry-form / wecom/callback 反代到新 HTTP 端口。不要 Redis 全局单例锁。
## 基础设施
本机/服务器安装:JDK(若仍用 Java)、Python 3.12、Node(AIBOT 桥)、MySQL、PostgreSQL、Redis、MinIO 或 S3、LibreOffice、Nginx。
域名 `ai.ytd-scm.com` TLS 终止在 Nginx:静态后台、反代 `/jeecgboot`、inquiry-form 与企微回调到智能体 HTTP。
## 环境文件
- 示例:仓库 `.env.example` 只有变量名。
- 生产:服务器本地文件,权限仅运行账号。明文对照 `03`。
- 本机开发:用脚本注入环境变量,关闭真实出站。
## 你要交付的脚本
等价于现网:远程身份检查、累计发布、发布后 status、远程 PowerShell 封装。不要发明「scp 覆盖几个 py」的热修当正式发布。
## SSH
用户 `ytd_extdev_0903`,Ed25519,`IdentityFile ~/.ssh/id_ed25519_ytd`。公钥指纹见 `03`。私钥永不进仓库。