25 lines
1.4 KiB
Markdown
25 lines
1.4 KiB
Markdown
|
|
# 生产后端重启脚本实施记录
|
||
|
|
|
||
|
|
## 修改内容
|
||
|
|
- 收敛生产后端重启脚本 `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` 进程完成,测试结束后已自动清理对应进程和临时目录
|