linux系统中给java 应用配置开机自动启动

第一步需要一个控制java应用启动,停止,重启的脚本,脚本内容如下,我是springboot应用,其他的可以根据情况改写.

#!/bin/bash

APP_NAME=/data/oa/start-2.0.jar
#执行命令有误时,提示使用说明参数
usage() {
 echo "Usage: sh eureka.sh [start|stop|restart|status]"
 exit 1
}

#检查程序是否已经在运行
is_exist(){
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
if [ -z "${pid}" ]; then
 return 1
 else
 return 0
 fi
}

#启动服务
start(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is already running. pid=${pid} ."
  else
    cd /data/oa
    nohup java -Xms128m -Xmx512m -Dloader.path=/data/oa/lib -jar /data/oa/start-2.0.jar --spring.config.local=/data/oa/application.yml > /data/oa/dwoa.log 2>&1 &
  fi
}

#停止服务
stop(){
  is_exist
  if [ $? -eq "0" ]; then
    kill -9 $pid
  else
    echo "${APP_NAME} is not running"
  fi
}

#输出服务运行状态
status(){
  is_exist
  if [ $? -eq "0" ]; then
    echo "${APP_NAME} is running. Pid is ${pid}"
  else
    echo "${APP_NAME} is NOT running."
  fi
}

#重启服务
restart(){
  stop
  start
}

#根据输入参数,选择执行对应的方法,不输入则执行使用说明
case "$1" in
  "start")
    start
    ;;
  "stop")
    stop
    ;;
  "status")
    status
    ;;
  "restart")
    restart
    ;;
  *)
    usage
    ;;
esac

将以上脚本随便命名一下,比如我这边命名为oa.sh,放到项目文件夹;

第二步,给这个文件可执行权限:chmod a+wrx -R oa.sh

第三步,将启动脚本注册为系统服务,这样就可以在开机时候自动启动了.

            1.cd /etc/systemd/system/
            2.nano oa.service  #创建一个名为oa的服务.
            3.输入以下配置,注意修改 ExecStart,ExecReload,ExecStop中的启动脚本的路径

[Unit]
Descrip    tion=hcoa Web Server
After=network.target

[Service]
Type=forking
ExecStart=/data/oa/oa.sh start
ExecReload=/data/oa/oa.sh restart
ExecStop=/data/oa/oa.sh stop
PrivateTmp=true


[Install]
WantedBy=multi-user.target

         4.保存并关闭文件(在nano中按Ctrl+X,然后按Y确认保存)。
         5.加载配置并将oa服务设置为enable启用状态(开机会自动启动该服务)
                 systemctl daemon-reload #重载系统服务配置
                 systemctl enable oa      #开机启动
         6.后面就可以直接使用服务方式启动oa服务了
                 service oa restart
                 service oa stop
                 service oa start

          7.注意配置中的,一下三项配置,要根据情况去修改。
                ExecStart=/data/oa/oa.sh start 代表启动命令
                ExecReload=/data/oa/oa.sh restart 代表重启命令
                ExecStop=/data/oa/oa.sh stop 代表停止命令

第四步,还是不会的话,可以私信联系我协助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值