Files
loan-pricing/doc/implementation-report-2026-04-03-production-backend-restart-script.md
2026-04-03 10:47:16 +08:00

1.4 KiB

生产后端重启脚本实施记录

修改内容

  • 收敛生产后端重启脚本 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
    • 脚本不包含 mvnrequire_rootss/lsof/netstat 相关依赖
    • start -> status -> restart -> stop 流程执行通过
  • 自测使用临时目录中的假 java 进程完成,测试结束后已自动清理对应进程和临时目录