Jar包在Linux系统下设置开机自启动

news/2025/2/12 16:26:48/文章来源:https://www.cnblogs.com/allseasons/p/18711759

首先我们新建一个文件,写好自己的自启脚本

#!/bin/bash
# 关闭防火墙(建议仅在测试环境使用)
systemctl stop firewalld.service || echo "防火墙关闭失败"# 启动 MySQL
systemctl start mysqld.service || echo "MySQL 启动失败"# 启动 Nginx
if [ -x /usr/local/nginx/sbin/nginx ]; then/usr/local/nginx/sbin/nginx || echo "Nginx 启动失败"
elseecho "Nginx 可执行文件不存在"
fi# 启动 Redis
nohup /usr/local/bin/redis-server > /var/log/redis.log 2>&1 &
echo "Redis 已启动 (PID: $!)"# 启动 Minio
nohup /mnt/minio server /mnt/service/data > /var/log/minio.log 2>&1 &
echo "Minio 已启动 (PID: $!)"# 启动 Java 应用
nohup java -jar yourService.jar > /var/log/ruoyi-admin.log 2>&1 &  #这里填写你自己的jar包路径
echo "Java 应用 ruoyi-admin 启动完成 (PID: $!)"exit 0

然后执行sudo nano /etc/systemd/system/startup.service命令,创建文件
在文件中复制一下代码(根据自己的需求改)

[Unit]
Description=Custom Startup Script
After=network-online.target
Wants=network-online.target[Service]
ExecStart=/bin/bash /path/to/your_script.sh
Restart=on-failure
RestartSec=5s
User=root
StandardOutput=append:/var/log/startup.log
StandardError=append:/var/log/startup_error.log[Install]
WantedBy=multi-user.target

说明
1.ExecStart=/bin/bash /path/to/your_script.sh是你自己的shell脚本路径
2.因为我们是web服务器,一般有Nginx和Redis所以要在网络初始化完毕network-online.target再加载脚本
3.WantedBy=multi-user.target这个的意思是在多用户环境下启动脚本,如果配置好后没有成功运行,建议
检查自己是那种环境,查看命令systemctl get-default
4.日志文件StandardOutput=append:/var/log/startup.logStandardError=append:/var/log/startup_error.log
并不会自己创建,需要自己手动创建一个日志文件。


创建好startup.service文件之后按顺序执行一下命令

  sudo systemctl daemon-reload  # 重新加载 systemd 配置sudo systemctl enable taskStart.service  # 设为开机自启sudo systemctl start taskStart.service  # 立即启动服务sudo systemctl status taskStart.service  # 查看服务状态

如果没有成功启动可以执行sudo journalctl -xe -u taskStart.service查看日志,分析原因
重启命令 sudo systemctl restart taskStart.service # 重启服务

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

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

相关文章

KubeSphere 和 K8s 高可用集群离线部署全攻略

本文首发:运维有术,作者术哥。 今天,我们将一起探索如何在离线环境中部署 K8s v1.30.6 和 KubeSphere v4.1.2 高可用集群。对于离线环境的镜像仓库管理,官方推荐使用 Harbor 作为镜像仓库管理工具,它为企业级用户提供了高效、安全的镜像存储方案。而在本指南中,我们将以 …

《刚刚问世》系列初窥篇-Java+Playwright自动化测试-13- iframe操作-中篇(详细教程)

1.简介 按照计划今天就要用实际的例子进行iframe自动化测试。宏哥还是用之前找到的一个含有iframe的网页(QQ邮箱和163邮箱),别的邮箱宏哥就没有细看了,可能后期这两个邮箱页面优化升级,也就不能用了,但是现在还可以用。所以今天这一篇的主要内容就是用这两个网页的iframe…

炸裂:SpringAI内置DeepSeek啦!

好消息,Spring AI 最新快照版已经内置 DeepSeek 了,所以以后项目中对接 DeepSeek 就方便多了。但因为快照版会有很多 Bug,所以今天咱们就来看稳定版的 Spring AI 如何对接 DeepSeek 满血版。 SpringAI和DeepSeek介绍 Spring AI 是 Spring 生态系统中的一个重要项目,旨在将人…

openssl生成证书请求时报错:invalid extension string:v3_conf.c:140:name=subjectAltName,section=@alt_names

解决方法: 1. 使用自定义的openssl-ca.cnf openssl req -new -key client.key -out client.csr -subj "/C=cn/ST=nanjing/L=nanjing/O=zte/OU=zte/CN=localhost" -config ./openssl-ca.cnf2. 修改系统的/etc/pki/tls/openssl.cnf 注释掉[ v3_req ]段部分 # [ v3_req…

linux中文件操作相关命令和使用

linux中文件操作相关命令和使用 cat more/less head/tail vi/vim等相关命令 cat 1. 文件查看 cat 文件名 --全部内容显示 -- 好东西 可以用于配置文件查看过滤 cat 文件名 | grep 筛选内容 --内容筛选显示 2. 文件创建并输入初始化文本 -- 新建content.txt 文…

APIPark 新增 AI 大模型负载均衡,APIKey 资源池以及 AI Token 消耗统计等重磅功能!

开发者们好!APIPark V1.4 功能更新给大家带来「负载均衡」、「APIKey 资源池」以及「Token 消耗统计」等重要功能,看看是否能帮助到大家更好地使用 AI 大模型~ V1.4 版本说明新功能 [❤️新增] 新增支持 AI 模型负载均衡:同时接入多款大模型,当原定的 AI 服务商无法访问时,…

活动营销系统

一、整体架构图二、核心业务系统介绍 2.1.接入层统一异常处理逻辑2.2.邀请服务逻辑2.3.权益发放服务2.4.排行榜服务 2.4.1.榜单服务数据结构 数据结构分为两块:配置中心数据,因为排行榜没有后台配置平台,只能将配置数据放到配置中心,具备实时更改配置的能力 数据表,主要是排行榜…

004 条件渲染

1、v-ifv-if指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回true值的时候被渲染。<p v-if="flag">我是孙猴子</p>data(){return{flag:true}} 2、v-else你可以使用 v-else 指令来表示 v-if 的"else块"<p v-if="flag&quo…

Tinyfox 简易教程之:Hello World!

Tinyfox程序设计系列教程之入门篇一,什么是 Tinyfox: Tinyfox 是一款自带 HTTP 服务器的以 WebApi、WebSocket 及“动态HTML”为核心功能的超轻量级的独立性极强的高性能 Web 应用程序基础框架。 Tinyfox 简单易用,性能强劲,跨平台,既支持 Linux 也支持 Windows,既支持 x…

中电金信:更智能、更精准、更专业,中电金信AI产品全栈接入DeepSeek

短短两周的时间,AI届新星DeepSeek凭借低成本、高性能和开源策略,以“中国速度”席卷全网,逆袭成为全球用户量增速最快的AI模型。作为大模型领域的一匹黑马,DeepSeek为千行百业提供了AI解决方案的新选择。2025年开工首日,中电金信研究院便第一时间在产品平台、智能应用、智…

deepseek基础篇--本地知识库推理

一.Ollama 搜索安装 dmeta-embedding-zh https://ollama.com/shaw/dmeta-embedding-zh dmeta-embedding-zh 是一个仅含 4 亿参数的中文嵌入模型,适用于多种场景。它在 MTEB 基准测试中表现出色,尤其适合语义检索、RAG 和其他 LLM 应用。 安装成功 二、使用工具 Cherry Studi…

认识嵌入式开发需要的设备

认识嵌入式开发需要的设备开发板 Arduino用于快速原型设计和学习嵌入式系统基础树莓派用于学习Linux嵌入式系统和复杂应用开发STM32开发板用于学习ARM Cortex-M系列微控制器的开发ESP32开发板用于学习Wi-Fi和蓝牙等无线通信技术的开发GD32开发板调试工具 示波器观察电信号的波形…