【问题标题】:Installing Spring Boot Application on Linux System在 Linux 系统上安装 Spring Boot 应用程序
【发布时间】:2018-03-16 19:11:48
【问题描述】:

环境:

  • 弹簧靴 1.5.2
  • linux 红帽

我用过Spring Docu:

https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

于是我创建了一个符号链接 (etc/init.d/myService)。并且everythink工作正常。我可以通过以下方式控制我的服务: sudo service myService start|stop|staus

但不幸的是,我不允许在 /etc/init.d 中放置符号链接

我试图在 /etc/init.d 中放置一个脚本 myService,而这个脚本只包含一行:

/work/springBoot/myService.jar

但是现在当我进入时

sudo service myService 状态

spring boot 应用程序启动。并且不显示状态。那我该怎么办?

【问题讨论】:

  • 我认为您必须遵循 sysvinit 约定。我猜你的红帽没有使用 systemd
  • systemd 不是一个选项 - “遵循 sysvinit 约定”是什么意思

标签: java linux spring spring-boot


【解决方案1】:

这对我有用:

#!/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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多