更新:2026-09-05 16:11

Linux 部署与开机自启

使用 scripts/ruleapi.sh 做日常管理,scripts/ruleapi.service 实现 systemd 开机自启与崩溃自恢复。

1. 部署目录与脚本就位

mkdir -p /opt/ruleapi/scripts /opt/ruleapi/logs
cd /opt/ruleapi
# 上传 jar、xdb、config(见《02》)
# 上传 docs/deploy/scripts/ 下三个文件到 scripts/
chmod +x scripts/ruleapi.sh

2. 修改 scripts/ruleapi.config

JAR_NAME="RuleApiPro.jar"
JAR_PATH="/opt/ruleapi/RuleApiPro.jar"
RUN_USER="root"
JAVA_OPTS="-Xms256m -Xmx1024m -Dspring.config.location=file:/opt/ruleapi/config/application.properties"
LOG_DIR="/log/RuleApi"
WATCH_INTERVAL=30

3. 常用命令

cd /opt/ruleapi

./scripts/ruleapi.sh start      # 启动(含 xdb 缺失前置检查)
./scripts/ruleapi.sh stop       # 优雅停止
./scripts/ruleapi.sh restart    # 重启
./scripts/ruleapi.sh status     # 状态 + PID + 端口 + 日志尾部
./scripts/ruleapi.sh watch      # 状态监听:每 30s 检查,宕机自动拉起

4. systemd 开机自启(推荐)

sudo cp /opt/ruleapi/scripts/ruleapi.service /etc/systemd/system/ruleapi.service
sudo systemctl daemon-reload
sudo systemctl enable ruleapi    # 开机自启
sudo systemctl start ruleapi     # 启动
sudo systemctl status ruleapi    # 查看状态

ruleapi.service 已配置:

  • Restart=on-failure(崩溃自动重启)
  • RestartSec=10(崩溃后 10 秒重试)
  • 工作目录 /opt/ruleapi

5. 双保险策略

机制 场景 说明
systemd Restart=on-failure 进程崩溃/被杀 自动拉起(首选)
ruleapi.sh watch 非 systemd / 兜底 循环检测 pid,宕机拉起
crontab 定时 status 告警 人工巡检 可选

注意:使用 systemd 管服务后,不要再用 ruleapi.sh 的 start/stop 混跑(会 PID 冲突);二选一即可。

6. 启动日志排查

journalctl -u ruleapi -n 100 --no-pager   # systemd 日志
tail -f /log/RuleApi/RuleApi.log          # 后端日志
curl http://127.0.0.1:8081/install/isInstall

常见报错与解法见《07-FAQ》。