diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..5a8bf7d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,89 @@ +# 更新日志 + +本文档记录了项目的所有重要变更,按照版本号倒序排列。 + +## [未发布] + +### 🆕 新增功能 +- **端口配置变量化**:在 Makefile 中引入 `SERVER_PORT` 变量,统一管理应用端口配置 +- **端口进程管理**:新增 `kill-port`、`kill-port-force`、`kill-$(SERVER_PORT)` 命令,方便管理端口占用 +- **动态配置更新**:支持在启动时自动更新配置文件中的端口和主机地址 + +### 🔧 改进优化 +- **项目结构重构**:将 `@internal` 目录重命名为 `src`,`@pkg` 目录移至 `src/pkg`,`cmd/main.go` 移至 `src/main.go` +- **版本管理优化**:Makefile 中的 `VERSION` 变量自动从最新的 git tag 读取 +- **端口检查逻辑优化**: + - 支持检测 Docker 容器占用端口 + - 提供自动停止 Docker 容器的选项 + - 改进端口占用检测的准确性,过滤无效 PID +- **Docker Compose 配置优化**: + - 移除 MySQL 和 Redis 服务定义,改为使用宿主机服务 + - 支持动态获取宿主机 IP 并配置 `extra_hosts` + - 为 MySQL 服务添加优雅关闭配置(`stop_grace_period`、`stop_signal`、`init`) +- **配置管理优化**: + - 支持本地模式和 Docker 模式的动态切换 + - `make dev/stage/prod` 使用 `localhost` + - `make docker-up-*` 使用 `host.docker.internal` + +### 🐛 问题修复 +- **修复 Docker 模式下 SERVER_PORT 未生效问题**: + - 将 `PORT` 变量重命名为 `SERVER_PORT` + - 修复 `sed` 命令无法处理空端口值的问题 + - 在 `main.go` 中增加端口为空检查 +- **修复 Docker 容器连接宿主机服务问题**: + - 修复 MySQL 连接问题(`bind-address` 和用户权限) + - 修复 Redis 连接问题(`bind` 和 `protected-mode`) + - 修复 rootless Docker 的 `host-gateway` 问题 +- **修复 MySQL 容器无法正常停止问题**: + - 增加优雅关闭时间到 60 秒 + - 使用 `init` 进程管理子进程 + - 添加自动检测和重试机制 + +### 📚 文档更新 +- 添加 SERVER_PORT 配置说明,包括影响范围和修改方法 +- 添加 Docker 容器连接宿主机服务的完整排查指南 +- 添加端口进程管理说明 +- 添加 Docker 权限问题解决方案 +- 添加常见错误信息和排查步骤 + +--- + +## [2025-11-29] - 项目开发阶段 + +### 版本管理 +- Makefile 中的 `VERSION` 变量从 git tag 自动读取(格式:`20251129.1`、`20251129.2`、`20251129.3`) + +### 项目结构重构 +- 将 `@internal` 目录重命名为 `src` +- 将 `@pkg` 目录移动到 `src/pkg` +- 将 `cmd/main.go` 移动到 `src/main.go` +- 移除 `cmd` 目录 +- 更新所有文件引用路径 + +### Docker 相关优化 +- 支持 dev、stage、prod 三种环境的 Docker Compose 部署 +- 优化 Docker 镜像拉取配置(支持中国大陆镜像源) +- 配置 Go 代理(`GOPROXY=https://goproxy.cn,direct`) +- 移除 Docker Compose 中的 MySQL 和 Redis 服务,改为使用宿主机服务 +- 支持动态获取宿主机 IP 并配置 `extra_hosts` +- 优化 MySQL 容器优雅关闭配置 + +### 端口配置优化 +- 引入 `SERVER_PORT` 变量统一管理端口配置 +- 优化端口占用检查逻辑 +- 新增端口进程管理命令 + +### 文档完善 +- 完善 README.md 中的配置说明 +- 添加 Docker 部署指南 +- 添加常见问题解答 +- 添加 SERVER_PORT 配置说明 + +--- + +## 版本说明 + +- **格式**:`YYYYMMDD.N`(例如:`20251129.1`) +- **规则**:日期 + 序号,同一天多次发布递增序号 +- **获取方式**:`git tag --sort=-version:refname | head -n 1` + diff --git a/PROJECT_SUMMARY.pdf b/PROJECT_SUMMARY.pdf deleted file mode 100644 index d71ce8b..0000000 Binary files a/PROJECT_SUMMARY.pdf and /dev/null differ diff --git a/README.pdf b/README.pdf deleted file mode 100644 index f0a4514..0000000 Binary files a/README.pdf and /dev/null differ