在Linux系统上安装弹簧引导应用程序
问题描述:
- 春季启动1.5.2
- 完成RedHat
我已经使用了Spring的Docu:
https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
所以我创建了一个符号链接(etc/init.d/my服务)。而且每一个工作都很好。我可以控制好我的服务通过: sudo的服务为myService开始|停止|居留制
但可惜我不能把/etc/init.d中的符号链接
我试图把一个脚本/etc/init.d中内为myService这个脚本只包含一行:
/work/springBoot/myService.jar
但现在,当我进入
sudo的服务为myService状态
弹簧启动应用程序启动。而不是显示状态。那我能做些什么?
答
这个工作对我来说:
#!/bin/bash
# chkconfig: 345 20 80
SPRING_BOOT_JAR=myService-0.1.1.jar
SPRING_BOOT_DIR=/work/springboot/myService
EXECUTABLE=$SPRING_BOOT_DIR/$SPRING_BOOT_JAR
export OUT_LOG="$SPRING_BOOT_DIR/out.log"
export MODE="service"
start() {
echo "Start was called for " + $EXECUTABLE
nohup $SPRING_BOOT_DIR/$SPRING_BOOT_JAR start > $OUT_LOG 2>&1 &
}
stop() {
echo "Stop was called for " + $EXECUTABLE
$SPRING_BOOT_DIR/$SPRING_BOOT_JAR stop
}
status() {
echo "Status was called for " + $EXECUTABLE
$SPRING_BOOT_DIR/$SPRING_BOOT_JAR "status"
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
*)
echo "Please use start|stop|status"
exit 1
;;
esac
exit
诀窍是
export MODE="service"
我认为你必须遵循sysvinit的约定。我猜你的红帽子没有使用systemd –
systemd不是一个选项 - 你是什么意思“按照sysvinit约定” – tomas