springboot可执行jar包开机启动

Linux/Unix下Spring Boot项目随系统自动启动(init.d或者systemd) 将Spring Boot项目部署到Linux/Unix后,由于某种原因服务器会不定期关机,每次打开服务器都需要手动启动项目,很麻烦,查看官方文档,发现有相应的解决办法,特此记录。按照官方文档的话来说: Spring Boot application can be easily started as Unix/Linux services by using either init.d or sys 阅读详情

官方教程

https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

在这里插入图片描述

设置开机启动

[seth@instance-1 ~]$ sudo ln -s /home/seth/blog-0.0.1-SNAPSHOT.jar /etc/init.d/blog
[seth@instance-1 ~]$ sudo chkconfig blog on
[seth@instance-1 ~]$ sudo service blog start
Started [3652]
[seth@instance-1 ~]$ sudo service blog status
Running [3652]

reboot重启验证开机启动

[seth@instance-1 ~]$ sudo reboot
Connection to 35.241.117.72 closed by remote host.
Connection to 35.241.117.72 closed.
ERROR: (gcloud.compute.ssh) [/usr/bin/ssh] exited with return code [255].
sethmbp:~ seth$ gcloud compute --project "blog-222412" ssh --zone "asia-east2-a" "instance-1"
Last login: Fri Dec 21 09:34:16 2018
[seth@instance-1 ~]$ sudo service blog status
Running [2940]

移除开机启动

只在需要移除的时候操作,不要跟着做了

[seth@instance-1 ~]$ sudo service blog stop
Stopped [2940]
[seth@instance-1 ~]$ sudo chkconfig blog off
[seth@instance-1 ~]$ sudo rm /etc/init.d/blog 

跟启动参数

毕竟是个线上项目,参数还是要给的,先上图
这个可能有些人不太理解,为什么要跟个conf,其实官方规定的
先上个链接

https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
在这里插入图片描述

先证明以下不是我随便说的

在这里插入图片描述

[seth@instance-1 ~]$ ll
总用量 39060
-rw-rw-r--. 1 seth seth      321 12月 21 09:49 blog-0.0.1-SNAPSHOT.conf
-rwxr-xr-x. 1 seth seth 17592218 12月 21 09:14 blog-0.0.1-SNAPSHOT.jar
[seth@instance-1 ~]$ cat blog-0.0.1-SNAPSHOT.conf
APP_NAME=seth-blog
MODE=service #后台运行
JAVA_OPTS="-server -Xmx8g -Xms4g -Xloggc:/tmp/logs/pandora_gc.log -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8"
RUN_ARGS="--server.port=3011 --spring.profiles.active=debug --spring.pid.file=/tmp/logs/blog.pid"
LOG_FOLDER=/tmp/logs
LOG_NAME=seth-blog
[seth@instance-1 ~]$ sudo service blog restart
Stopped [3982]
Started [4084]
[seth@instance-1 ~]$ ps -ef | grep blog
seth      4084     1 99 09:50 ?        00:00:05 /bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -server -Xmx8g -Xms4g -Xloggc:/tmp/logs/pandora_gc.log -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8 -jar /home/seth/blog-0.0.1-SNAPSHOT.jar --server.port=3011 --spring.profiles.active=debug --spring.pid.file=/tmp/logs/blog.pid
seth      4098  3243  0 09:50 pts/0    00:00:00 grep --color=auto blog
[seth@instance-1 ~]$ ll /tmp/logs/
总用量 28
-rw-r--r--. 1 seth root 22590 12月 21 09:50 blog.log
-rw-r--r--. 1 seth seth   516 12月 21 09:50 pandora_gc.log

blog-0.0.1-SNAPSHOT.conf

注意:conf的文件名和jar包名保持一致,存放到同一个目录,

注意一下日志和pid的存放目录,这里我用的tmp,生产环境绝对不能用tmp,尤其是pid,tmp下系统会定期清理的
到时候无法stop了

APP_NAME=seth-blog  #随便写
MODE=service #后台运行
JAVA_OPTS="-server -Xmx8g -Xms4g -Xloggc:/tmp/logs/pandora_gc.log -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8"
RUN_ARGS="--server.port=3011 --spring.profiles.active=debug --spring.pid.file=/tmp/logs/blog.pid"
LOG_FOLDER=/tmp/logs
LOG_NAME=seth-blog
SpringBoot项目快速打包成jar项目与部署 传统的Web应用进行打包部署时,通常会打成War包的形式,然后将War包部署到Tomcat等服务器中,而SpringBoot应用使用的是嵌入式Servlet容器,也就是说,SpringBoot应用默认是以jar包形式进行打包部署的,而如果想要使用传统的War包形式进行打包部署,就需要进行一些配置。管理命令(app名字的由来是因为在/usr/lib/systemd/system/下创建的app.service)(1):启动脚本app-server-auto.sh拷贝至/etc/rc.d/init.d目录。 阅读详情

相关推荐

将Jar包注册为Liunx系统服务,开机自启动

在Linux下 将SpringBoot jar包 做成开机自动启动 1.编写启动shell脚本 在/etc/init.d/目录下创建XXXX.sh脚本如下: #保证该脚本能被chkconfig识别 #!/bin/sh # chkconfig: 2345 85 15 # description:auto_run #程序名 RUN_NAME="jar包的名字" #jar 位置 JAVA_OPTS=/...

weixin_44186922的博客 708

ruoyi项目前后端分离版本部署-linux系统

ruoyi项目前后端分离版本部署-linux系统 系统环境需求 JDK >= 1.8 MySQL >= 5.7 Maven >= 3.0 Redis Node.js Nginx 新建目录 #tmp存放临时安装包 mkdir -p /data/tmp #service存放软件环境 mkdir -p /data/service #gitee存放代码版本控制库 mkdir -p /data/gitee 以上目录非必须,可以自行选择安装路径。 - JDK >= 1.8 (推

java技术博客 4323

Infineon MOSFET开关损耗计算实战指南

本文是英飞凌MOSFET开关损耗计算的实战指南。针对MOSFET发热问题,文章深入剖析了开关损耗的产生机理,并基于Infineon数据手册的关键参数,手把手推导了开通与关断损耗的工程计算公式。同时,指南强调了栅极电阻、寄生参数等实际因素对损耗的影响,并提供了从理论计算到实测优化的完整路径,帮助工程师精准评估与优化电源设计。

weixin_29212867的博客 445

Linux部署spring boot应用(最详细)

现在大部分项目都是springboot项目 ,里面内嵌有服务器部署起来也比较简单,将spring boot项目打成jar包通过命令行进行部署。

m0_72739216的博客 4299

从RadixTree到哈希表:深入对比SGLang和vLLM的Prefix Cache实现差异

本文深入对比了SGLang与vLLM在大语言模型推理服务中实现Prefix Cache(前缀缓存)的两种核心方案。SGLang采用基于Radix Tree的RadixAttention,支持任意长度前缀的精确匹配与灵活复用;vLLM则采用基于哈希表的方案,深度集成于PagedAttention,实现简洁但要求块级精确对齐。文章剖析了二者在设计哲学、内存管理、适用场景及集群级优化(如Prefix Cache Aware Routing)上的关键差异,为高性能LLM服务的技术选型提供决策依据。

blockchain9miner的博客 956

MacOS新手必看:HomeBrew安装避坑指南(含M1芯片适配方案)

本文为MacOS新手提供全面的HomeBrew安装指南,特别包含M1/M2芯片适配方案。从系统准备到核心安装流程,再到日常维护和高级配置,详细解析每个步骤的潜在问题及解决方案,帮助用户高效管理Mac软件。

weixin_28831399的博客 471

SpringBoot以服务形式启动,并设置JVM启动参数

1 概述 SpringBoot使得我们可以快速地上手以及开发Spring项目。我们可以把工程打成一个jar包,然后部署到服务器上(这里只讨论Linux,因为没多少人会拿Windows当服务器)。nohup命令可以让程序作为后台进程执行,但是它不好管理维护,也显得很不专业。更好的方法是将SpringBoot作为Service启动。 2 步骤 2.1 Maven打包 通过package命令打jar包:...

Night Field' Blog 1万+

如何使用ArcGIS Pro制作带基底三维地图

点击运行生成范围线,因为之前对高程进行了夸大,导致生成的范围线和地形边缘不重合,我们打开范围线的图层属性,选择高程选项卡,要素位于选择地面上,如下图所示。目前制作的三维地图下面是空的一片,现在添加一个基底,在工具箱内点击“3D Analyst工具\栅格\转换\栅格范围”,调用栅格范围工具,如下图所示。打开ArcGIS Pro,新建一个局部场景,在高程表面下,地面上点击右键,选择添加高程源图层,将需要制作三维地图的DEM数据加载进来,如下图所示。在要素图层菜单内,类型选择绝对高度,如下图所示。

3979

Linux service服务命令-jar包自启

Linux service服务命令 使用service可以让linux上的服务进行自动式管理,比如软件自启 相关命令 #假设服务配置文件命令demo.service #将服务设置为开机启动 systemctl enable demo.service #关闭服务开机启动 systemctl disable demo.service #查看服务的状态 systemctl status demo.service #启动服务,对应demo.service中的ExecStart systemctl start dem

zeng772620023的博客 831

[Dify 实战] 如何在内网环境部署 Dify 应用:彻底离线的企业级方案解析

企业内网环境如何离线部署Dify?本文提供详细教程:Dify作为开源AI平台,支持完全离线部署,无需外网访问。文中介绍两种部署方式:推荐使用Docker一键部署,也可选择源码安装定制化方案。重点讲解内网模型配置(支持Ollama/GPT-OSS等)、知识库存储(MinIO/PostgreSQL)及内网代理设置,并给出常见问题排查方法。该方案适用于金融、政府等对数据安全要求高的场景,确保敏感数据不泄露,实现完全本地化的AI应用闭环。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 455

Windows环境下QGIS完整编译指南(从环境搭建到问题解决)

本文详细介绍了在Windows 11系统下编译QGIS 3.40.12版本的完整流程。主要内容包括:前期准备工作(系统要求、工具清单)、环境搭建(Visual Studio 2026、OSGeo4W、Qt Creator的安装配置)、以及详细的CMake参数设置。特别强调了依赖管理的重要性,并提供了解决常见编译错误的方案。该指南适用于GIS二次开发、QGIS功能定制和源码学习等场景,通过OSGeo4W工具简化了复杂的依赖管理过程,确保编译过程的可重复性。

LuckyHanMo的博客 1336

SpringBoot可执行jar,开机启动

官方教程 https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html ...

King的专栏 133

JS逆向-Protobuf逆向解析

目录一、什么是Protobuf二、Protobuf环境配置三、Protobuf实例序列化与反序列化四、逆向解析 Protobuf案例1、python序列化2、python反序列化 一、什么是Protobuf 1、protocol buffers介绍:是一种语言无关、平台无关、可扩展的序列化结构数据的方法。严格说不算是加密,只能是叫序列化结构数据,让可读变为疑似的乱码,那反序列化即让疑似的乱码变为可读 2、protobuf使用流程的前提是有一个.proto文件,对逆向而言就是还原.proto文件,选择

十一姐的博客 1万+

CentOS-配置jar包自启动(SpringBoot)

#2020云栖大会#阿里云海量offer来啦!投简历、赢阿里云限量礼品及阿里云ACA认证免费考试资格!>>> ...

自由人生™ 165

超声波传感器(CHx01) 学习笔记 Ⅲ - I2C读写操作

CH-x01 通过 2 线 I2C 协议与主机处理器通信

nicole088的专栏 1740

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

windows部署springboot项目 jar项目 (带日志监听和开机自起脚本)

windows 部署SpringBoot项目,jar项目,jdk配置,日志监听,脚本等

达内---刘天孝作品 3484

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

sprongboot项目设置开机自启动

1.springboot的jar项目设置成开机自启动,首先下载两个文件,一个可执行的exe文件,一个xml配置文件 2.将这两个文件以项目jar包的名字命名,如图: 3.将xml的配置文件改成jar相关的格式,如图: 4.打开cmd命令,输入安装服务命令:manaagerService.exe install,如果权限不足无法安装,则切换到管理员权限进行安装 5.安装好服务后启动服务,命令...

就要逆风飞翔!!! 493

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

centos7重新加载服务的命令_Centos7.3开机自动启动或执行指定命令操作

在centos7中,/etc/rc.d/rc.local文件的权限被降低了,没有执行权限,需要给它添加可执行权限。chmod +x /etc/rc.d/rc.local然后就可以在里面添加你要开机自启的命令了vi /etc/rc.d/rc.local补充知识:centOS7.2将自定义的脚本设置成service,并开机启动spring boot的jar包部署上线时,希望能将其设置成service,...

weixin_39530647的博客 223

SpringBoot作为Service部署在Ubuntu (1)基础篇

第一步:生成一个可以使用 Java -jar执行的 Jar 文件 1. 首先你需要为你的项目安装插件 ***spring-boot***插件, 如下: ```apply plugin: 'spring-boot'```以便生成一个spring-boot项目的jar。 2. 然后你需要为你的项目选择安装一个内置容器, 我使用是Jetty: ```apply plugin: 'jetty'``` ...

weixin_30667301的博客 211

jar包注册为Linux服务

如果是SpringBoot项目,则需修改配置pom.xml为: <build>   <plugins>     <plugin>      <groupId>org.springframework.boot</groupId>       <artifactId>spring-boot-maven-plugi...

weixin_30321709的博客 264

SpringBoot项目做成windows自启服务

之前做一个java项目把jar包部署到现场服务器,做一个bat批处理文件,一键启动,如果服务器重启还需要手动去启动bat文件,而且启动后命令窗口一直在桌面上,如果不小心关了,可能会造成数据丢失,还需要重新启动。3、创建文件夹用来存放你的文件,将打包好的jar改名为自己想要的名称,把刚刚下载好的winsw更名为xtjl.exe一起复制进去,创建一个xml文件用于配置注册信息,logs为此项目的系统级别的日志文件夹,servicelogs为此项目的服务级别的日志文件夹。4、xml文件的配置信息如下。

qq2037305722的博客 1713

SpringBoot Centos7 jar包自启方法

第一种 来源于:https://www.cnblogs.com/zhyg/p/5821684.html Spring boot 应用服务安装部署(maven工程) 1.首先在maven工程的pom文件中引入以下标签并保存 &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt...

梦灸舞的博客 1096

Linux下部署springboot项目jar包开机自启

Linux下部署springboot项目jar包开机自启 Linux版本 Centos7详细步骤如下: 1、在/etc/init.d/目录下创建shell启动脚本autojar.sh cd /etc/init.d/ touch autojar.sh vi autojar.sh 内容如下: #!/bin/sh # chkconfig: 2345 85 15 # descripti...

道阻且长,行则将至 2904

Ubuntu中SpringBoot项目Jar包开机启动

Ubuntu中SpringBoot项目Jar包开机启动

Zhaof_Notes 2140

将springboot项目打成的jar包并设置开机自动启动

Windows: 1、首先将jar包放到指定目录。 2、新建文本文档,在文本里写入"java -jar+jar包路径",如图,保存。 3、将.txt格式的文本文档修改后缀名,改成.bat格式,如图。 4、此时双击这个文件,生成的jar包就会自动运行,接下来添加到开机启动项(百度上有)。 win+R启动运行,输入gpedit.msc ,确定后选择计算机配置,然后Windows设置,脚本(启动、关机),双击启动,点添加--游览-- 选择你的bat文件,然后再确定,这样就可以了 5...

耐小裳的博客 1616

打包好的jar包,如何部署在服务器?——详细教程

在服务器上安装 JDK。将 JAR 包上传到服务器。使用java -jar或者通过systemd启动服务。配置防火墙开放端口。(可选)使用 Nginx 配置反向代理。设置服务开机自动启动。这样就可以在服务器上成功部署并提供对外服务。

qq_42631788的博客 1万+
上一篇: shell多线程
下一篇: pyinotify同步目录python脚本
sethcss
博客等级 码龄9年 7粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值