Linux环境将java项目做成服务启动

Jakcy Linux 2021-10-08 87

1,编写java项目启动脚本

cd /soft/project/blog
vim blog-service.sh
# Java 环境
JAVA_HOME="/soft/jdk1.8.0_131"
# 启动目录
APP_HOME="/soft/project/blog"
# 应用名称
APP_NAME="blog-0.0.1-SNAPSHOT.jar"

echo "JAVA_HOME:$JAVA_HOME"
echo "APP_HOME:$APP_HOME"
echo "APP_NAME:$APP_NAME"

# 启动
start(){

  cd $APP_HOME
  nohup "$JAVA_HOME/bin/java" -jar $APP_NAME >/dev/null  2>&1 &

  echo "Start Success"

}

# 停止
stop(){

  pid=`ps -ef | grep "$APP_NAME" | grep -v "grep" | awk '{print $2}'`
  if [ "$pid" == "" ];then

    echo "Stop Success"

  else

    kill $pid
    sleep 1
    stop

  fi
}

# 重启
restart(){

   stop
   start

   echo "Restart Success"

}

# 查看状态
status(){

  pid=`ps -ef | grep "$APP_NAME" | grep -v "grep" | awk '{print $2}'`

  if [ "$pid" == "" ];then

    echo "$APP_NAME is Stopped"

  else

    echo "$APP_NAME is Rrunning"

  fi

}

case "$1" in

  start)
     start
  ;;

  stop)
     stop
  ;;

  status)
     status
  ;;

  restart)
     restart
  ;;

  *)
     echo $"Usage: $0 {start|stop|status|restart}"
     exit 1

esac

2,将脚本放置到init.d目录

# 可以创建软连接
ln -s /soft/project/blog/blog-service.sh /etc/init.d/blog-service
# 直接移动或复制到目录
mv /soft/project/blog/blog-service.sh /etc/init.d/blog-service
cp /soft/project/blog/blog-service.sh /etc/init.d/blog-service

3,赋予权限

chmod 777 /soft/project/blog/blog-service.sh

4,运行

# 启动
service blog-service start
# 停止
service blog-service stop
# 重启
service blog-service restart
# 查看状态
service blog-service status