第一步需要一个控制java应用启动,停止,重启的脚本,脚本内容如下,我是springboot应用,其他的可以根据情况改写.
#!/bin/bashAPP_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}" ]; thenreturn 1elsereturn 0fi
}#启动服务
start(){is_existif [ $? -eq "0" ]; thenecho "${APP_NAME} is already running. pid=${pid} ."elsecd /data/oanohup 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_existif [ $? -eq "0" ]; thenkill -9 $pidelseecho "${APP_NAME} is not running"fi
}#输出服务运行状态
status(){is_existif [ $? -eq "0" ]; thenecho "${APP_NAME} is running. Pid is ${pid}"elseecho "${APP_NAME} is NOT running."fi
}#重启服务
restart(){stopstart
}#根据输入参数,选择执行对应的方法,不输入则执行使用说明
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 代表停止命令
第四步,还是不会的话,可以私信联系我协助.