4.9 KiB
提示词:部署与运行环境
目标环境:甲方 同一台 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]。
必须保留的运维原则
- 制品不可变:新版本写入
releases\新目录,禁止覆盖活动目录。 - 原子切换指针:
ops\active-release.json等;失败自动回指旧版。 - 互斥锁:禁止两人同时部署。
- 构建不含
.env、密钥、日志、用户附件、数据库 dump。 - 健康检查 ≠ 业务验收。
- 并存阶段:禁止真实 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。私钥永不进仓库。