CentOS7.6上实现Spring Boot(JAR包)开机自启

这篇具有很好参考价值的文章主要介绍了CentOS7.6上实现Spring Boot(JAR包)开机自启。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Linux自启(或开机自启)指的是在Linux系统启动时自动运行特定的程序或脚本。当计算机启动时,操作系统会按照一定的顺序加载系统服务和配置,其中包括自动启动一些应用程序或服务。这些应用程序或服务会在系统启动后自动运行,以提供特定的功能或服务。

开机自启的好处在于可以在系统启动时自动恢复之前的工作状态,减少手动干预,同时确保特定的服务或应用程序始终处于运行状态,提供持续的服务。

sh脚本是指Shell脚本,是一种在Unix/Linux系统上运行的脚本文件,通常使用Shell编程语言来编写。Shell是操作系统的一种命令行解释器,它可以用来执行操作系统命令、管理文件系统、处理文本数据等。

Shell脚本是一个纯文本文件,以.sh扩展名结尾。它包含一系列Shell命令和控制结构,用于自动化完成一系列任务。通过编写Shell脚本,可以将一系列复杂的操作和任务集中到一个文件中,并通过运行脚本来实现这些操作,从而简化了操作过程并提高了效率。

一、创建工作目录

Spring Boot是一款方便开发者快速搭建基于Spring的应用程序的工具。而Spring Boot可以方便的加载外部配置文件,只需要将配置文件放在指定的位置即可。具体实现如下:

mkdir -p /home/java-server/test-demo

2、创建启动脚本

进入jar目录:

cd  /home/java-server/test-demo

创建脚本文件:

vim start.sh

启动脚本内容:

#!/bin/sh
export LANG="en_US.UTF-8"
cd /home/java-server/test-demo
runMessage=`ps aux | grep \`cat pidfile.txt\``
projectStartCommand="/usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar"
if [[ $runMessage == *$projectStartCommand* ]]
then
    echo "Application has starting ,restarting..."
    kill -9 `cat pidfile.txt`
    nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
else
    echo "Application has stopped ,starting..."
    nohup /usr/local/java/jdk1.8.0_131/bin/java -jar xxx.jar -java.tmp.dir=/home/java-server/test-demo/temp >/dev/null 2>&1 & echo $! > pidfile.txt
fi

  • 脚本中/home/java-server/test-demo就是jar包所在的,可以根据实际情况定。
  • xxx.jar为实际的jar包名称。
  • /usr/local/java/jdk1.8.0_131/bin/java为jdk环境所在路径。

3、创建停止脚本

进入jar目录

 cd  /home/java-server/test-demo

创建脚本文件:

vim stop.sh

启动脚本内容:

#!/bin/sh
cd /home/java-server/test-demo
PID=$(cat pidfile.txt)
if [ ${PID} ]; 
then
    echo 'Application is stpping...'
    echo kill $PID DONE
    kill $PID
else
    echo 'Application is already stopped...'
fi

4、设置开机自启

进入system:

# 进入system
cd /usr/lib/systemd/system/ 

创建自启脚本:

vim xxx.service

xxx.service为脚本的名称,一般来就是jar包前缀名称一致,比如:test-demo.service

内容如下:

[Unit]
Description=xxx
After=network.target

[Service]
Type=forking
ExecStart=/home/java-server/test-demo/start.sh
ExecStop=/home/java-server/test-demo/stop.sh
PrivateTmp=true

[Install]
WantedBy=multi-user.target

  • Description:描述,一般为项目名称
  • ExecStart:开启脚本位置
  • ExecStop:停止脚本位置

设置脚本权限:

systemctl daemon-reload
systemctl enable xxx.service

启动|停止命令:

# 启动
systemctl start xxx

# 停止
systemctl stop xxx

xxx就是xxx.service的前缀。文章来源地址https://www.toymoban.com/news/detail-706564.html

到了这里,关于CentOS7.6上实现Spring Boot(JAR包)开机自启的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux环境中,通过systemd服务将Spring Boot Jar包设置为开机自启动

    1、进入/etc/systemd/system目录,并创建一个名为 spring-boot-app.service 的新服务文件。 2、将下面的配置内容复制到  spring-boot-app.service  文件中,并保存。 其中, username 是你要用来运行Spring Boot应用程序的用户名, /path/to/spring-boot-app.jar 是你的Spring Boot应用程序的路径。 3、重新加

    2024年02月06日
    浏览(82)
  • Windows配置开机自启jar包,不显示黑窗口,并输出日志

    如果是在 Linux 下开机自启一个服务相对比较简单,这次遇到一个需求是关于 Windows 开机自启的: 在 Windows 环境下开机自动运行一个 SpringBoot 服务; 而且由于是一个后台服务,要求对终端用户无感知; 为后期维护方便,需要将原来的控制台输出记录到日志文件。 以下实现方

    2023年04月08日
    浏览(40)
  • CentOS设置开机自启脚本

    通过 /etc/rc.d/rc.local 方式设置开机自启 编写要执行的脚本 添加以下内容

    2024年02月07日
    浏览(42)
  • centos7操作系统开机提示error:file “/boot/grub/i386-pc/normal.mod“ not found

    一.问题现象 公司重要业务虚拟机突然业务访问不了,重启操作系统之后发现操作系统启动不了,直接进入救援模式,提示error:file “/boot/grub/i386-pc/normal.mod“ not found,报错截图 二.处理思路 在救援模式下,只有很少的命令可是使用: set 设置环境变量 ls 查看设备 insmod 加载模

    2024年02月04日
    浏览(42)
  • Spring Boot java -jar --spring.profiles.active=dev 失效问题

    之前动态部署修改配置文件的情况不多,所以也没注意过,这个问题今天困扰了好久,经过多方查询后得到了解决办法 直接上代码 yml中的配置

    2024年02月19日
    浏览(47)
  • [Linux][CentOs][Mysql]基于Linux-CentOs7.9系统安装并配置开机自启Mysql-8.0.28数据库

    目录 一、准备工作:获取安装包和相应工具 (一)所需安装包 (二)安装包下载链接 (三)在服务器上创建文件夹并上传安装包 二、安装MySql (一)删除系统自带的mariadb (二)安装MySQL依赖包libaio (三)创建MySQL组和用户并设置密码 (四)将MySQL目录的权限授给MySQL用户

    2024年03月25日
    浏览(62)
  • Ubuntu服务器中java -jar 后台运行Spring Boot项目

    问:我在我的服务器中java -jar 运行springboot项目,但是我操作不了命令了,必须要终止掉才能执行后面的操作,怎么样才能让他后台运行呢?比如我的jar包名是tools-boot-0.0.1-SNAPSHOT.jar 使用nohup命令: 在命令前加上nohup,并通过重定向将输出保存到文件中。例如: 问:这个outp

    2024年02月08日
    浏览(60)
  • CentOS开机自动运行jar程序实现

    前面已经有一篇文章介绍jar包如何在CentOS上运行,《在linux上运行jar程序操作记录》 后来发现系统重启后不能自动运行,导致每次都要手动打开,这篇介绍如何自动开机启动运行jar程序。 可以看到,最终找到的位置是: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/j

    2024年02月08日
    浏览(61)
  • 使用Docker中构建Java jar包,并且实现开启自启

    Docker中构建Java JAR包 要在Docker容器中构建Java应用程序的JAR包,你可以遵循以下步骤: 1.创建Dockerfile 在你的项目根目录下创建一个名为 Dockerfile 的文件,用来定义Docker镜像的构建过程。 2.构建Docker镜像 使用 docker build 命令来构建Docker镜像。确保在你的项目根目录下执行此命令

    2024年04月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包