【项目实战】Linux系统下jar包自启动

什么是jar包自启动

在Linux系统中,"jar包自启动"是指通过配置将Java程序打包成可执行的Jar文件,并设置其在系统启动时自动运行。以下是与jar包自启动相关的一些概念:

Jar文件:Jar(Java Archive)文件是一种用于打包和分发Java程序的文件格式。它可以包含Java类文件、资源文件和库文件等。Jar文件可以使用Java虚拟机(JVM)来运行其中的程序。

可执行Jar文件:可执行Jar文件是指嵌入了主程序入口点的Jar文件,可以直接通过Java命令或者双击运行。通过设置manifest文件中的Main-Class属性,可以将Jar文件标记为可执行文件。

启动脚本:启动脚本是一个Shell脚本,用于执行特定的操作,如设置环境变量、启动Java虚拟机并指定主程序的可执行Jar文件作为参数。启动脚本通常会将Java程序作为后台进程运行。

系统服务:在Linux系统中,可以将Jar文件作为一个系统服务来管理,以便在系统启动时自动运行。系统服务是一种提供后台功能的程序,可以通过系统启动脚本或服务管理工具(如Systemd)进行管理和控制。

Systemd:Systemd是Linux系统下的一个初始化系统和服务管理器。它可以用于管理系统服务的启动、停止、重启和状态查看等操作。通过创建和配置Systemd单元文件,可以将Jar文件作为一个Systemd服务,并设置其在系统启动时自动运行。

jar包自启动带来的好处

系统启动时自动运行:通过将Jar包设置为自启动服务,可以确保在系统启动时自动运行该程序。这对于需要在系统启动后以后台服务方式一直运行的应用程序非常有用,无需手动启动。

方便管理和维护:将Jar包作为自启动服务后,可以使用相关工具或命令对服务进行管理和维护,例如启动、停止、重启和状态查看等。这样可以简化操作,提高管理效率。

避免人工干预:自启动服务可消除人工干预的需求。您不必每次系统重启后都手动运行Jar包,这减少了出错的风险,并提高了系统的稳定性。

启动顺序控制:通过配置自启动服务,可以精确控制不同服务之间的启动顺序。如果您的应用程序依赖于其他服务或资源,在自启动服务中设置依赖关系可以确保正确的启动顺序。

日志记录和错误处理:自启动服务可以配置日志记录和错误处理机制。您可以将程序输出信息记录到日志文件中,便于故障排查和问题定位。此外,您还可以定义错误处理策略,包括自动重启或发送通知等操作,以确保服务的可靠性。

通过将Jar包设置为自启动服务,可以方便地管理和控制应用程序的运行,提高系统的可靠性和稳定性。这特别适用于后台服务、定时任务和需要在系统启动时自动运行的应用程序。

实际操作

前期准备

查看自己服务器java的版本号

java -version

在这里插入图片描述

注意:此处服务器为java11版本的 下面jarSysInit.sh脚本里的jdk环境就要改为对应的环境

步骤

1、新建jar包自启文件

sudo vi /etc/init.d/jarSysInit.sh

按i键进入编辑模式输入以下内容:

# !/bin/bash
##JDK start 配置自己服务器的JDK环境(jkd8还是11)
export JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin
## JDK end
# 有多少个jar就后面加上去就好(这里需要参考自己jenkins的启动脚本注意全局变量$APP_PATH 要换成jar包对应的全路径)
nohup java -Xms1024m -Xmx1024m -jar /home/admin/apps/typing_provider.jar > /home/admin/apps/typing.log 2>&1 &

按esc键退出编辑模式 输入:wq保存
在这里插入图片描述
2、编辑服务器开机时自动执行的文件

sudo vi /etc/rc.d/rc.local

按i键进入编辑模式
在此文件的touch /var/lock/subsys/local底下
添加以下内容:

#开机启动jar脚本
/etc/init.d/jarSysInit.sh

在这里插入图片描述
按esc键退出编辑模式 输入:wq保存

3、提升权限两个脚本文件都是绿色
切换路径

cd /etc/rc.d

提升权限:

sudo chmod 755 /etc/rc.local

查看是否提升成功

ll

在这里插入图片描述
切换目录

cd /etc/init.d

提升权限

sudo chmod 755 /etc/init.d/jarSysInit.sh

在这里插入图片描述

总结

**当将Jar包设置为Linux系统的自启动服务时,还可以进一步丰富内容,具体包括:

系统资源管理:通过自启动服务,可以在系统启动时合理分配和管理系统资源,例如CPU、内存和网络等。可以根据实际需求对程序的资源使用进行优化,并确保其他重要任务和服务能够正常运行。

安全性增强:通过将程序设置为自启动服务,可以使用特定的用户身份或权限来运行程序,以提高安全性。可以限制访问权限,并确保只有授权用户能够访问和操作相关服务。这有助于防止未经授权的访问和潜在的安全漏洞。

监控与报警:自启动服务可以与监控工具集成,实时监控程序的运行状态。通过配置适当的监控指标和报警规则,可以及时发现和处理异常情况,例如崩溃、高负载和内存泄漏等。这有助于及时采取措施,并保证服务的可用性和稳定性。

自动更新和版本管理:利用自启动服务,可以实现程序的自动更新和版本管理。您可以设置定期检查新版本的策略,并在更新时自动下载和部署新的Jar包。这样可以确保应用程序始终使用最新的功能和修复了的漏洞,确保系统的安全性和稳定性。

扩展性和灵活性:通过自启动服务,可以在需要的情况下轻松扩展应用程序。您可以添加更多参数、配置文件和插件等,根据实际需求进行个性化的定制。这为应用程序的后续开发和维护提供了更大的灵活性和可扩展性。

综上所述,将Jar包设置为Linux系统的自启动服务不仅简化了操作流程,提高了可靠性和管理效率,还提供了更多功能和保障,如资源管理、安全性增强、监控与报警、自动更新和灵活性等。通过充分利用这些优势,您可以更好地管理和运行应用程序,以满足不断变化的需求和提供卓越的用户体验。**

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/141098.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

51单片机光照强度检测自动路灯开关仿真( proteus仿真+程序+报告+讲解视频)

51单片机光照强度检测自动路灯开关仿真( proteus仿真程序报告讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0052 讲解视频 基于51单片机的光照检测自动路灯控制仿真设计( proteus仿…

Day56:组件库封装-TypeScript入门

配置 安装tsc工具进行编译 npm i typescript -g 查看版本号:tsc -v 编译ts代码-需要使用tsc编译之后才能运行,TS为JS的衍生,浏览器不能直接识别TS语法:tsc xxx.ts 运行ts代码:node xxx.js 或者直接运行ts代码——t…

【从0学习Solidity】52. EIP712 类型化数据签名

【从0学习Solidity】 52. EIP712 类型化数据签名 博主简介:不写代码没饭吃,一名全栈领域的创作者,专注于研究互联网产品的解决方案和技术。熟悉云原生、微服务架构,分享一些项目实战经验以及前沿技术的见解。关注我们的主页&#…

ChatGPT的问世给哪些行业带来了冲击?

目录 引言Chat GPT 对行业的影响在线客服和智能客服行业传统自动回复机器人的局限性Chat GPT 的提升能力 教育培训行业个性化学习需求的挑战Chat GPT 的个性化优势 金融保险行业客户服务的变革Chat GPT 的智能化应用 医疗健康领域自助诊断及咨询的便利性Chat GPT 在医疗领域的应…

vue项目打包部署到服务器,报错。

这个是因为后端部署服务器时,名称没有对上,不是前端的问题,后端配置名称和前端的包名称保持一致就可以了。

轻量级c语言开源日志库log.c介绍 - 实现不同级别和参数化日志打印

前言 c语言没有现成的日志库,如果要记录日志,需要自己封装一个日志库。如果要实现日志级别和参数打印,还是比较麻烦的,正好在github找到了一个c语言开源日志库,可以实现日志级别打印,参数打印,…

SAP PO运维(四):适配器消息监控

登录SAP PO系统,点击“Configuration and Monitoring Home”,使用PISUPER账号登录: 2、选择“适配器引擎->消息监控器”: 3、查看是否有报错消息: 双击报错的数字,筛选出报错的条目(可以根据状态、接口命名空间等来筛选):常见的报错消息有: 接口配置问题:字段为空值…

好题记录 Leetcode 394.字符串解码 中等难度

方法一&#xff1a;递归 思路很简单&#xff0c;比较好理解&#xff0c;注意细节处理&#xff01;&#xff01;&#xff01; class Solution { public:string decodeString(string s) {string ans;for(int i0;s[i]!0;i){if(s[i]>a&&s[i]<z)anss[i];if(s[i]>…

十四、流式编程(4)

本章概要 终端操作 数组循环集合组合匹配查找信息数字流信息 终端操作 以下操作将会获取流的最终结果。至此我们无法再继续往后传递流。可以说&#xff0c;终端操作&#xff08;Terminal Operations&#xff09;总是我们在流管道中所做的最后一件事。 数组 toArray()&…

实时更新进度条:JavaScript中的定时器和异步编程技巧

前言 在Web开发中&#xff0c;有许多场景需要实时地更新页面上的进度&#xff0c;例如上传文件、数据处理等。本文将介绍如何利用JavaScript中的定时器和异步编程技巧来实现实时更新进度&#xff0c;并探讨一些其他解决方案。 处理进度实时更新&#xff1a; 利用异步编程实现实…

速卖通商品详情数据接口

速卖通商品详情数据接口&#xff08;aliexpress商品详情API接口&#xff09;可以获取到速卖通商品的详细信息&#xff0c;如商品标题、价格、库存、详情描述、图片等。 速卖通商品详情API接口是速卖通提供的一种产品数据接口&#xff0c;可以帮助速卖通卖家快速地将产品分类、…

Mysql主从数据恢复随笔

目录 1.使用pt-table-checksum插件安装方式如下 2.在主节点执行检查数据同步情况 3.同步检查出现的问题 3.1没有sock文件 3.2 Authentication plugin ‘sha256_password’ cannot be loaded: /usr/lib64/mysql/plugin/sha256_password.so: 无法打开共享对象文件: 没有那个文…

【刷题笔记9.24】LeetCode:二叉树最大深度

LeetCode&#xff1a;二叉树最大深度 1、题目描述&#xff1a; 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 二、思路与算法 如果我们知道了左子树和右子树的最大深度 lll 和 rrr&#xff0c;…

基于Spring Boot的IT技术交流和分享平台的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 我国科学技术的不断发展&#xff0c;计算机的应用日渐成熟&#xff0c;其强大的功能给人们留下深刻的印象&#xff0c;它已经应用到了人类社会的各个层次的领域&#x…

MongoDB索引

索引支持在MongoDB中高效执行查询。如果没有索引&#xff0c;MongoDB必须扫描集合中的每个文档才能返回查询结果。如果查询存在适当的索引&#xff0c;MongoDB将使用该索引来限制它必须扫描的文档数。 尽管索引提高了查询性能&#xff0c;但添加索引对写入操作的性能有负面影响…

怎么去营造地中海风格?进来来看看吧

什么是地中海风格&#xff1f; 地中海风格是一种受地中海沿岸住宅建筑和美学影响的装饰风格。西班牙、希腊和摩洛哥等国的文化对地中海风格产生了影响。 简约是地中海生活的主要部分。地中海气候宜人&#xff0c;人们的生活态度闲适&#xff0c;这一点在色彩、设计、材料和图案…

2023第十二届中国智能产业高峰论坛之文档大模型的探索与思考

文章目录 前言合合信息多模态大模型与文档图像智能理解文档图像分析识别与理解的技术难题文档图像分析与预处理文档解析与识别版面分析与还原文档信息抽取与理解AI安全知识化&存储检索和管理 文档图像的分析识别与理解和大模型的关系文档图像大模型的进展LayoutLMUDOPDonut…

东郊到家app小程序公众号软件开发预约同城服务系统成品源码部署

东郊到家app系统开发&#xff0c;东郊到家软件定制开发&#xff0c;东郊到家小程序APP开发&#xff0c;东郊到家源码定制开发&#xff0c;东郊到家模式系统定制开发 一、上门软件介绍 1、上门app是一家以推拿为主项&#xff0c;个人定制型的o2o平台&#xff0c;上门app平台提…

次时代摸鱼骚操作:人在办公室轻松观看家里电脑上的4k电影(移动端公网访问本地群辉存储视频文件)

如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f; 文章目录 如何使用iPhone15在办公室观看家里电脑上的4k电影&#xff1f;1.使用环境要求&#xff1a;2.下载群晖videostation&#xff1a;3.公网访问本地群晖videostation中的电影&#xff1a;4.公网条件下使用电脑…

详解MySQL索引+面试题

前言: 📕作者简介:热爱编程的小七,致力于C、Java、Python等多编程语言,热爱编程和长板的运动少年! 📘相关专栏Java基础语法,JavaEE初阶,数据库,数据结构和算法系列等,大家有兴趣的可以看一看。 😇😇😇有兴趣的话关注博主一起学习,一起进步吧! 一、索引概述…