目录

  • 第一步:编写sh脚本
  • 第二步:修改脚本的可执行权限
  • 第三步:建立服务
  • 第四步:新增服务的可执行权限:
  • 第五步:执行一下命令



上篇玩儿转Linux || 16 集群机器之间文件互传 讲解了linux的应用:在机器机器之间实现文件互传的指令xsync指令自定义。本文介绍如何将java应用以服务的形式部署并设置为开机自启动。

如果您觉得对您有帮助的话,不要忘记帮助帮博主一键三连😊哦


第一步:编写sh脚本

/usr/local/src/shs/stressTest目录下,新建两个脚本,start.sh和stop.sh。这里的目录没有要求。

  • start.sh
#!/bin/sh
source /etc/profile
export PATH=$JAVA_HOME/bin:$PATH
#程序名
RUN_NAME="renren-fast.jar"

# jar 位置
JAVA_OPTS=/usr/local/src/java/project/renren-fast.jar # jar包的位置。
LOG_OPTS=/usr/local/src/java/project/stressTest.log # 你的日志文件存放的位置。

nohup java -jar $JAVA_OPTS >$LOG_OPTS 2>&1 &   # 启动脚本
echo "$RUN_NAME started success."
echo $! > /var/run/stressTest.pid

记住,一定要加上source /etc/profile,巨坑,不然,提示找不到java命令

  • stop.sh
#!/bin/sh
source /etc/profile
PID=$(cat /var/run/stressTest.pid)
kill -9 $PID

第二步:修改脚本的可执行权限

chmod +x start.sh
chmod +x stop.sh

第三步:建立服务

进入/etc/systemd/system目录,新建stressTest.service服务(stressTest是服务名)

[Unit]
Description=压测平台demo
after=network.target

[Service]
User=root
Group=root
Type=forking
KillMode=process
ExecStart=/bin/sh /usr/local/src/shs/stressTest/start.sh start
PrivateTmp=true

[Install]
WantedBy=multi-user.target


[Service]
User=root
Group=root
Type=forking
KillMode=process
ExecStart=/bin/sh /usr/local/src/shs/stressTest/start.sh start
PrivateTmp=true

[Install]
WantedBy=multi-user.target

第四步:新增服务的可执行权限:

chmod +x stressTest.service

第五步:执行一下命令

systemctl daemon-reload:重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。
systemctl enable hello-service.service   #添加开机启动服务
systemctl start hello-service.service     # 启动服务
systemctl stop hello-service.service    #关闭服务
systemctl restart hello-service.service   # 重启服务
systemctl status hello-service.service    #查看服务状态
systemctl disable hello-service.service    #取消开机启动

linux java进程自动重启服务 linux java项目开机自启动_jar

最后,如果您觉得对您有帮助的话,不要忘记帮助帮博主一键三连😊哦