Linux系统配置jar包开机自启

一、准备环境

1、确定jar包和脚本文件存放的位置

例如,我将jar包存放于 /home/project/ 目录中,将脚本文件放在 /home/project/sh/ 目录中

2、确定java的位置

#获取jdk位置(这个需要环境变量配置好才有效)
#第一种方法
echo $JAVA_HOME
# /usr/java/jdk1.8.0_211-amd64
#第二种方法
which java
# /usr/java/jdk1.8.0_211-amd64/bin/java
#第三种方法
whereis java
# java: /usr/bin/java /usr/java/jdk1.8.0_211-amd64/bin/java /usr/share/man/man1/java.1
只需要确定jdk的目录在 /usr/java/jdk1.8.0_211-amd64 即可

二、新建 启动、停止脚本

编写启动脚本:
xxx是项目名,用英文或中文拼音都可以、其实随便起知道就好,比如 start.sh

vim /home/project/sh/xxx-service-start.sh
#!/bin/sh
# jdk目录
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export PATH=$PATH:$JAVA_HOME/bin
# 启动项目(如果不是root用户 需要在前面加sudo,在后面加密码)
# nohup java -jar /home/project/xxx-dev1.3.1-8804.jar > /home/project/nohup.out 2>&1 &
nohup java -jar /home/project/xxx-dev1.3.1-8804.jar &
# 导出项目启动的pid(用于关闭)
echo $! > /var/run/xxx-dev1.3.1-8804.pid

编写停止脚本

vim /home/project/sh/xxx-service-stop.sh
#!/bin/sh
PID=$(cat /var/run/xxx-dev1.3.1-8804.pid)
kill -9 $PID

三、增加文件权限

生产环境不建议给那么大的权限,具体给啥,我也没实践过(待定 ^_^ )

cd /home/project/sh
chmod -R 777 xxx-service-stop.sh
chmod -R 777 xxx-service-start.sh
cd /home/project
# 我用的是nohup java -jar /home/project/xxx-dev1.3.1-8804.jar & 所以这个文件启动前没有,不用改
chmod -R 777 nohup.out
chmod -R 777 xxx-dev1.3.1-8804.jar

四、配置system文件

cd /usr/lib/systemd/system
touch xxx.service
#固定写法,换一下路径即可
#!/bin/sh
[Unit]
Description=xxx-service
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/home/project/xxx-service-start.sh
ExecStop=/home/project/xxx-service-stop.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target

五、执行命令

#将jar添加到开机自启服务中
systemctl enable xxx.service
#系统服务刷新
systemctl daemon-reload

六、启动服务

#启动服务
systemctl start xxx.service
#查看服务状态
systemctl status xxx
#停止服务
systemctl stop xxx
#取消开机自启
systemctl disable xxx
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值