完善贷款定价前后端实现与联调
This commit is contained in:
22
doc/implementation-report-2026-03-31-deploy-folder-docs.md
Normal file
22
doc/implementation-report-2026-03-31-deploy-folder-docs.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# deploy 目录文档整理实施记录
|
||||
|
||||
## 修改内容
|
||||
|
||||
- 新增 `deploy` 目录下的本地安装手册:
|
||||
- `deploy/2026-03-31-local-nginx-java-install-manual.md`
|
||||
- 新增 `deploy` 目录下的独立 Nginx 配置文件:
|
||||
- `deploy/nginx.conf`
|
||||
- 安装手册中的 Nginx 配置说明调整为直接引用 `deploy/nginx.conf`
|
||||
- 删除原 `doc/2026-03-31-local-nginx-java-install-manual.md`,避免同一手册在仓库内出现两份路径
|
||||
|
||||
## 路径检查
|
||||
|
||||
- 已确认安装手册当前保存路径为 `deploy/2026-03-31-local-nginx-java-install-manual.md`
|
||||
- 已确认 Nginx 配置文件当前保存路径为 `deploy/nginx.conf`
|
||||
- 已确认本次实施记录保存路径为 `doc/implementation-report-2026-03-31-deploy-folder-docs.md`
|
||||
|
||||
## 验证结果
|
||||
|
||||
- 已执行 `ls -l deploy/2026-03-31-local-nginx-java-install-manual.md deploy/nginx.conf`
|
||||
- 已人工核对 `deploy/nginx.conf` 与 `bin/prod/install_env.sh` 中写入的 Nginx 配置保持一致
|
||||
- 已人工核对手册中的目录、端口和脚本引用与当前交付物保持一致
|
||||
@@ -0,0 +1,24 @@
|
||||
# 本地安装 Nginx 和 Java 手册实施记录
|
||||
|
||||
## 修改内容
|
||||
|
||||
- 新增本地安装手册 `deploy/2026-03-31-local-nginx-java-install-manual.md`
|
||||
- 手册内容与当前生产安装脚本保持一致:
|
||||
- Java 安装目录 `/home/webapp/env/java`
|
||||
- Nginx 安装目录 `/home/webapp/env/nginx`
|
||||
- 前端端口 `63311`
|
||||
- 后端端口 `63310`
|
||||
- 手册补充了系统依赖安装、目录初始化、Java 安装、Nginx 编译安装、配置写入、配置校验、启动与验证步骤
|
||||
|
||||
## 路径检查
|
||||
|
||||
- 已确认本次新增手册保存路径为 `deploy/2026-03-31-local-nginx-java-install-manual.md`
|
||||
- 已确认本次实施记录保存路径为 `doc/implementation-report-2026-03-31-local-nginx-java-install-manual.md`
|
||||
|
||||
## 验证结果
|
||||
|
||||
- 已人工核对手册中的安装路径、端口、Nginx 配置和现有脚本 `bin/prod/install_env.sh`
|
||||
- 已确认手册内容与以下脚本约定一致:
|
||||
- `bin/prod/install_env.sh`
|
||||
- `bin/prod/deploy_release.sh`
|
||||
- `bin/prod/restart_java.sh`
|
||||
@@ -0,0 +1,51 @@
|
||||
# 生产环境安装与部署脚本实施记录
|
||||
|
||||
## 修改内容
|
||||
- 新增生产环境安装脚本 `bin/prod/install_env.sh`
|
||||
- 新增生产环境部署脚本 `bin/prod/deploy_release.sh`
|
||||
- 新增生产环境 Java 管理脚本 `bin/prod/restart_java.sh`
|
||||
- 两份脚本需要同步放置到生产容器 `/home/webapp` 目录,便于在目标环境直接执行
|
||||
- 部署脚本改为复用独立的 Java 管理脚本完成后端启停
|
||||
- 安装脚本固定将 Java 安装到 `/home/webapp/env/java`,将 Nginx 安装到 `/home/webapp/env/nginx`
|
||||
- 安装脚本会创建 `/home/webapp/loan-pricing` 下的 `backend`、`frontend`、`backup`、`logs`、`run`、`tmp` 目录,并写入 Nginx 配置
|
||||
- 部署脚本约定发布包内必须包含 1 个后端 `jar` 和 1 个 `dist.zip`
|
||||
- 部署脚本在发布前会备份旧版后端 jar 与旧版前端 `dist` 目录,再完成替换、启动后端和重载 Nginx
|
||||
- Nginx 前端监听端口固定为 `63311`,后端应用启动端口固定为 `63310`
|
||||
|
||||
## 环境勘察结论
|
||||
- 已连接生产服务器 `116.62.17.81:9444` 并进入 `loan-pricing` 容器核对目录结构
|
||||
- 容器内实际工作目录为 `/home/webapp`
|
||||
- 已确认当前容器中存在安装包:
|
||||
- `/home/webapp/openjdk-21.0.2_linux-aarch64_bin.tar.gz`
|
||||
- `/home/webapp/nginx-1.20.2.tar.gz`
|
||||
- 已确认当前容器尚不存在 `/home/webapp/loan-pricing`
|
||||
- 已确认当前容器当前没有运行中的 Java 或 Nginx 进程
|
||||
- 当前被勘察容器基础镜像为 Ubuntu;但脚本已按需求改为基于 `yum` 安装系统依赖,适配正式生产环境约束
|
||||
- 已确认当前容器无法直接安装原生 `yum` 包,但系统仓库提供 `dnf` 包,可通过 `dnf` 提供 `yum` 兼容执行入口
|
||||
|
||||
## 验证结果
|
||||
- 已执行 `sh -n bin/prod/install_env.sh`
|
||||
- 已执行 `sh -n bin/prod/deploy_release.sh`
|
||||
- 已将两份脚本同步到生产 `loan-pricing` 容器:
|
||||
- `/home/webapp/install_env.sh`
|
||||
- `/home/webapp/deploy_release.sh`
|
||||
- 已将 Java 管理脚本同步到生产 `loan-pricing` 容器:
|
||||
- `/home/webapp/restart_java.sh`
|
||||
- 已在容器内执行 `ls -l /home/webapp/install_env.sh /home/webapp/deploy_release.sh /home/webapp/restart_java.sh`,确认三份脚本均已落盘且具备可执行权限
|
||||
- 已在容器内执行:
|
||||
- `sh -n /home/webapp/install_env.sh`
|
||||
- `sh -n /home/webapp/deploy_release.sh`
|
||||
- `sh -n /home/webapp/restart_java.sh`
|
||||
三份线上脚本语法校验均已通过
|
||||
- 已确认 Ubuntu 24.04 仓库中 `yum` 包候选为空,`dnf` 包候选为 `4.14.0-4.1ubuntu1`
|
||||
- 已在生产 `loan-pricing` 容器执行 `apt-get install -y dnf dnf-plugins-core`
|
||||
- 已在生产 `loan-pricing` 容器创建 `yum` 兼容入口:
|
||||
- `/usr/local/bin/yum -> /usr/bin/dnf`
|
||||
- 已执行 `yum --version`,返回 `4.14.0`
|
||||
- 已人工核对脚本中的关键路径、端口与部署约束:
|
||||
- Java 安装目录 `/home/webapp/env/java`
|
||||
- Nginx 安装目录 `/home/webapp/env/nginx`
|
||||
- 项目部署目录 `/home/webapp/loan-pricing`
|
||||
- 前端端口 `63311`
|
||||
- 后端端口 `63310`
|
||||
- 由于当前已连接勘察容器为 Ubuntu 24.04,不具备本次脚本要求的 `yum` 安装前提,因此未在该容器直接执行安装流程,仅完成语法校验与逻辑核对
|
||||
@@ -0,0 +1,18 @@
|
||||
# 后端启动配置切换为 uat 实施记录
|
||||
|
||||
## 修改内容
|
||||
- 将 `bin/prod/deploy_from_package.sh` 的后端启动 profile 从 `pro` 调整为 `uat`
|
||||
- 将 `bin/prod/restart_java.sh` 的后端启动 profile 从 `pro` 调整为 `uat`
|
||||
- 线上宿主机挂载脚本同步改为 `uat`,用于当前容器直接生效
|
||||
|
||||
## 原因说明
|
||||
- 当前 `pro` 配置依赖的数据库地址 `64.127.23.7:3306` 从部署主机与容器内均不可达
|
||||
- `uat` 配置依赖的数据库地址 `192.168.0.111:40628` 从部署主机可达,满足当前启动条件
|
||||
|
||||
## 验证结果
|
||||
- 已验证宿主机到 `192.168.0.111:40628` 端口连通
|
||||
- 已在仓库脚本中完成 `uat` 切换
|
||||
- 已在宿主机挂载脚本 `/volume1/webapp/loan-pricing/deploy_from_package.sh` 与 `/volume1/webapp/restart_java.sh` 同步切换为 `uat`
|
||||
- 已执行容器内命令 `/home/webapp/restart_java.sh restart`
|
||||
- 已执行 `curl -I http://116.62.17.81:63310/`,返回 `HTTP/1.1 200`
|
||||
- 已执行 `curl -X POST http://116.62.17.81:63311/prod-api/login/test ...`,返回 `{"code":200,...}`,确认 Nginx 反代与后端 `uat` 启动正常
|
||||
@@ -0,0 +1,16 @@
|
||||
# Nginx 目录权限修正实施记录
|
||||
|
||||
## 修改内容
|
||||
- 修正宿主机挂载目录 `/volume1/webapp` 的遍历权限,允许容器内 Nginx worker 访问业务目录
|
||||
- 修正宿主机挂载目录 `/volume1/webapp/loan-pricing`、`/volume1/webapp/loan-pricing/frontend`、`/volume1/webapp/loan-pricing/frontend/dist` 的遍历权限
|
||||
- 修正宿主机挂载目录 `/volume1/webapp/env`、`/volume1/webapp/env/nginx`、`/volume1/webapp/env/nginx/html` 的遍历权限
|
||||
|
||||
## 原因说明
|
||||
- `loan-pricing` 容器内 Nginx worker 进程以 `nobody` 运行
|
||||
- 宿主机挂载目录此前存在 `d---------` 或缺少其他用户执行权限的情况
|
||||
- 结果导致容器内访问 `/home/webapp/loan-pricing/frontend/dist/index.html` 和 `/home/webapp/env/nginx/html/50x.html` 时出现 `Permission denied`
|
||||
|
||||
## 验证结果
|
||||
- 已执行 `curl -I http://116.62.17.81:63311/`,返回 `HTTP/1.1 200 OK`
|
||||
- 已执行 `curl http://116.62.17.81:63311/`,成功返回首页 HTML
|
||||
- 已确认宿主机相关目录权限已调整为可供 Nginx worker 读取和遍历
|
||||
19
doc/implementation-report-2026-04-01-nginx-worker-user.md
Normal file
19
doc/implementation-report-2026-04-01-nginx-worker-user.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Nginx Worker 用户显式配置实施记录
|
||||
|
||||
## 修改内容
|
||||
- 在 `deploy/nginx.conf` 中显式增加 `user nobody;`
|
||||
- 在 `bin/prod/install_env.sh` 生成的 Nginx 配置模板中显式增加 `user nobody;`
|
||||
- 计划将线上实际使用的 `/volume1/webapp/env/nginx/conf/nginx.conf` 同步改为显式 `user nobody;`
|
||||
|
||||
## 原因说明
|
||||
- 当前线上 Nginx 实际以 `nobody` worker 进程运行
|
||||
- 但配置文件未显式声明 worker 用户,后续重写配置时容易与实际运行态不一致
|
||||
- 显式声明 `user nobody;` 可以让配置意图与当前运行方式保持一致
|
||||
|
||||
## 验证结果
|
||||
- 已完成仓库配置文件与安装脚本模板修改
|
||||
- 已同步修改线上实际配置 `/volume1/webapp/env/nginx/conf/nginx.conf`
|
||||
- 已执行 `nginx -t -c /home/webapp/env/nginx/conf/nginx.conf`,语法校验通过
|
||||
- 已执行 Nginx reload,容器内进程显示 `nobody` 作为 worker 用户运行
|
||||
- 已执行 `curl -I http://116.62.17.81:63311/`,返回 `HTTP/1.1 200 OK`
|
||||
- 已执行 `curl http://116.62.17.81:63311/prod-api/login/test`,返回状态码 `200`
|
||||
BIN
doc/上虞对私利率测算_上传字段与展示字段.xlsx
Normal file
BIN
doc/上虞对私利率测算_上传字段与展示字段.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user