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》。