当前位置: 首页 > news >正文

jar包项目自启动设置ubuntu

以下是使用 systemd 在 Ubuntu 系统中以 root 用户设置该 JAR 包自启动的步骤:

1. 创建 systemd 服务配置文件

打开终端,使用文本编辑器创建一个新的服务配置文件:

bash

sudo nano /etc/systemd/system/admin.service

在文件中输入以下内容:

ini

[Unit]
Description=admin JAR Service
After=network.target[Service]
User=root
WorkingDirectory=/usr/local/admin
ExecStart=/usr/bin/java -jar admin.jar
SuccessExitStatus=143
Restart=always
RestartSec=5
StandardOutput=append:/usr/local/admin/logs/app.log
StandardError=append:/usr/local/admin/logs/app.log[Install]
WantedBy=multi-user.target

说明

  • Description:对服务的简单描述。
  • After=network.target:表示在网络服务启动后再启动该服务。
  • User=root:指定以 root 用户运行服务。
  • WorkingDirectory:设置工作目录为 JAR 包所在目录。
  • ExecStart:定义启动 JAR 包的命令。
  • SuccessExitStatus:允许正常退出的状态码。
  • Restart=always:无论何种原因导致服务停止,都自动重启服务。
  • RestartSec=5:设置服务重启的间隔时间为 5 秒。
  • StandardOutput 和 StandardError:将标准输出和错误输出都追加到指定的日志文件中(需先确保 /usr/local/admin/logs 目录存在,可使用 sudo mkdir -p /usr/local/admin/logs 创建 )。
  • WantedBy=multi-user.target:在多用户模式下自动启动服务。

2. 重新加载 systemd 配置

bash

sudo systemctl daemon-reload

这一步是让 systemd 重新读取新创建或修改后的服务配置文件。

3. 启动服务

bash

sudo systemctl start admin.service

启动服务后,可以通过以下命令查看服务状态,确认是否启动成功:

bash

sudo systemctl status admin.service

如果服务启动正常,会显示类似 active (running) 的信息。

4. 设置开机自启动

bash

sudo systemctl enable admin.service

执行该命令后,系统在下次开机时会自动启动 admin.service 服务,即自动运行对应的 JAR 包。

虽然可以使用 root 用户来设置和运行服务,但从安全角度考虑,建议创建一个专门的普通用户来运行 JAR 包,以降低安全风险。如果后续需要切换用户,可以参考之前回复中创建普通用户并调整权限的相关内容 。

http://www.xdnf.cn/news/1359271.html

相关文章:

  • Vue中 this.$emit() 方法详解, 帮助子组件向父组件传递事件
  • Altium Designer 22使用笔记(9)---PCB布局、布线操作
  • 复杂街景误检率↓79%!陌讯时空建模算法在非机动车乱停放检测的实战解析
  • 点播视频预览是怎么做到的?
  • VsCode使用SFTP连接Linux
  • 使用 Golang 的 Gin 框架实现一周极限编程计划:全网 AIGC 项目热点追踪应用
  • MATLAB 与 Simulink 联合仿真:控制系统建模与动态性能优化
  • yggjs_rlayout框架v0.1.2使用教程 02 TechLayout 布局组件
  • 上科大解锁城市建模新视角!AerialGo:从航拍视角到地面漫步的3D城市重建
  • nginx部署goaccess监控
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day12
  • leetcode 1493 删掉一个元素以后全为1的最长子数组
  • mybatis过渡到mybatis-plus过程中需要注意的地方
  • 《Distilling the Knowledge in a Neural Network》论文PDF分享, 2015 年,谷歌提出了 “知识蒸馏” 的概念
  • 06 - spring security角色和权限设置
  • vulnhub-billu_b0x靶机渗透
  • GPT-5国内免费体验
  • k8s下的网络通信之calico与调度
  • sqlite创建数据库,创建表,插入数据,查询数据的C++ demo
  • 最新sa-token的oauth2封装免密和密码登录
  • 【高等数学】第十章 重积分——第一节 二重积分的概念与性质
  • MinIO03-Linux安装
  • Docker安装RocketMQ
  • 征程 6X 常用工具介绍
  • AI大模型应用开发面试:深入解析技术点
  • 每日算法题【链表】:相交链表、环形链表、环形链表II
  • 鸿蒙中点击完成时延分析
  • LeetCode 42.接雨水
  • response对象的elapsed属性
  • Elasticsearch Ruby 客户端故障排查实战指南