初始化1

This commit is contained in:
zg
2026-07-16 13:03:11 +08:00
parent 0bdfcbc1c8
commit e6b0f287cc
100 changed files with 12184 additions and 0 deletions

View File

@@ -0,0 +1,94 @@
---
name: session-20260621-2
description: 2026-06-21 第2次会话 — DNS解析API从10.1.1.160迁移至101.132.183.138:32210
metadata:
type: session
date: 2026-06-21
sessionNumber: 2
startTime: 2026-06-21T03:45:00+08:00
endTime: 2026-06-21T04:00:00+08:00
---
# 2026-06-21 第2次会话
## 会话摘要
将 DNS 解析 Python API 从 10.1.1.160:5000 迁移至 101.132.183.138:32210。创建了精简版独立 DNS API去掉了 Nginx/SSL 依赖),通过 systemd 部署到 138 上Java 后端改指新地址,已编译部署到 Docker。全链路验证通过。
## 关键操作
### 1. 创建独立 DNS Python API
- **做了什么**: 新建 `dns-api/` 目录,包含 4 个文件:`app.py`(精简 Flask仅 DNS 路由+健康检查)、`dns_service.py`(复制自原项目,零依赖改动)、`requirements.txt`flask 2.0.3 + gunicorn 20.1.0,兼容 Python 3.6)、`gunicorn_config.py`(端口 32210
- **原因**: 10.1.1.160 将停用138 上只需要 DNS 功能,不需要 Nginx/SSL 管理
- **关键改动**: `zone` 默认值从 `ssl_service.get_le_root_domain()` 改为环境变量 `DNS_DEFAULT_ZONE`(默认 zgitm.com彻底解除对 ssl_service 的依赖
- **结果**: 4 个文件已上传至 138
### 2. 部署 DNS API 到 101.132.183.138
- **做了什么**: SSH 到 138安装依赖flask 2.0.3 + gunicorn 20.1.0,适配 Python 3.6.8),创建 systemd 服务 `/etc/systemd/system/dns-api.service`,设置开机自启
- **阿里云 AK**: `LTAI5t98jUxLUadZM1LkaSa8` / `K2HyLLXizAgvOMOa0Mzc7ebs4gbAZs`(从 160 systemd 文件获取,已写入 138 服务 Environment
- **端口**: 32210HTTP
- **结果**: 服务正常运行健康检查通过DNS 记录查询正常
### 3. 修改 Java 后端配置
- **application.yml**: `python-api.base-url``http://10.1.1.160:5000``http://101.132.183.138:32210`
- **原因**: Java 通过 RestTemplate rootUri 自动拼接路径,只需改配置
- **无需改动**: RestTemplateConfig.java、PythonApiClient.java、DnsRecordService.java、DnsController.java、前端任何文件
### 4. 编译部署 Java 后端
- **编译**: `mvn clean package -Pprod -DskipTests` → BUILD SUCCESS
- **部署**: JAR 上传到 10.1.1.170docker cp 到 nginx-server-nginx-server:/app/app.jar重启容器
- **结果**: 服务正常启动API 响应正常
### 5. 全链路验证
- **列表查询**: 通过 Java → 138:32210 → 阿里云,记录正常返回(含审计字段)
- **添加测试**: `verify-dns-migration.zgitm.com` 创建成功record_id 返回正确
- **删除测试**: 测试记录已清理,列表确认已删除
- **结果**: DNS 添加/删除/列表 全链路通过
## 重要信息
### 新 DNS API 部署信息
| 项目 | 详情 |
|------|------|
| 服务器 | 101.132.183.138 |
| 端口 | 32210 |
| 协议 | HTTP |
| Python 版本 | 3.6.8 |
| 服务名 | dns-api |
| 目录 | /opt/dns-api/ |
| 启动 | `systemctl start dns-api` |
| 日志 | `journalctl -u dns-api` |
| 环境变量 | Ali_Key, Ali_Secret, DNS_DEFAULT_ZONE=zgitm.com |
| 默认 zone | zgitm.com可通过 DNS_DEFAULT_ZONE 环境变量修改) |
### 当前架构
```
Vue前端 → Mokee Gateway → Java后端(10.1.1.170:4002)
↓ DnsRecordService
↓ PythonApiClient
↓ RestTemplate rootUri: http://101.132.183.138:32210
Python Flask (101.132.183.138:32210)
↓ dns_service.py → 阿里云 DNS API (alidns.aliyuncs.com)
```
### 数据库地址变更(未完成)
- 用户要求将数据库从 10.1.1.122 改为 10.20.1.122
- **问题**: 10.20.1.122 从 10.1.1.170Docker 主机ping 不通3306 端口不可达
- **处理**: 已回滚,仍使用 10.1.1.122
- **待办**: 网络/防火墙打通后再次修改并部署
### 涉及文件清单
| 文件 | 操作 | 说明 |
|------|------|------|
| `dns-api/app.py` | **新建** | 精简版 Flask DNS API4个DNS路由+健康检查) |
| `dns-api/dns_service.py` | **新建** | 阿里云DNS服务核心复制自原项目 |
| `dns-api/requirements.txt` | **新建** | flask==2.0.3, gunicorn==20.1.0 (Python 3.6兼容) |
| `dns-api/gunicorn_config.py` | **新建** | 端口32210 |
| `application.yml` | **改1行** | python-api.base-url → 101.132.183.138:32210 |
| `application-qa.yml` | 无净变更 | 数据库地址改了又回滚 |
| `application-prod.yml` | 无净变更 | 数据库地址改了又回滚 |
## 待处理
- [ ] 数据库地址 10.1.1.122 → 10.20.1.122(需网络打通 / 连得上数据库)
- [ ] 160 机器停用后清理旧 nginx-api 服务