Files
loan-pricing/doc/implementation-report-2026-04-03-production-backend-restart-script.md

25 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2026-04-03 10:47:16 +08:00
# 生产后端重启脚本实施记录
## 修改内容
- 收敛生产后端重启脚本 `bin/prod/restart_java.sh`
- 脚本固定面向已部署的 `backend/ruoyi-admin.jar` 执行启停,不再包含构建逻辑
- 后端启动 profile 固定为 `pro`
- Java 路径统一为 `/home/webapp/env/java/bin/java`,与现有生产安装脚本保持一致
- 移除 `root` 执行校验与端口监听校验,只保留 `start|stop|restart|status` 所需的最小启停逻辑
- 新增脚本自测文件 `bin/prod/restart_java_test.sh`
## 实现说明
- `start` 仅检查 Java 可执行文件、目标 jar 是否存在以及当前是否已有同脚本托管进程
- `stop` 继续基于 PID 文件和 `-Dloan.pricing.home=/home/webapp/loan-pricing` 进程标记识别并停止当前后端进程
- `restart` 按“先停后起”执行,适用于生产环境已部署 jar 的直接重启
- `status` 仅返回脚本托管进程状态,不再增加端口占用类附加判断
## 验证结果
- 已执行 `sh bin/prod/restart_java_test.sh`
- 已验证以下场景:
- 脚本固定使用 `/home/webapp/env/java`
- 脚本固定使用 `--spring.profiles.active=pro`
- 脚本不包含 `mvn``require_root``ss/lsof/netstat` 相关依赖
- `start -> status -> restart -> stop` 流程执行通过
- 自测使用临时目录中的假 `java` 进程完成,测试结束后已自动清理对应进程和临时目录