服务器重启后能够自动重启Jar包

2024-09-03 02:28

本文主要是介绍服务器重启后能够自动重启Jar包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在服务器上部署Jar包,可以使用Java的内置服务工具——java命令的守护进程特性。但是要确保这个过程的自动实现,将使用systemd服务。以下是详细的实现方式:

Step 1: 创建服务脚本

首先,需要创建一个systemd服务脚本来定义java服务。在 /etc/systemd/system/ 目录下使用文本编辑器如nanovim创建一个文件。比如部署和运行名为MyApp.jar的jar包,将文件命名为myapp.service

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

然后在文件中输入以下内容:

[Unit]
Description=MyApp
After=network.target[Service]
Type=simple
User=myusername
Restart=always
RestartSec=10s
ExecStart=/usr/local/bin/java -jar /path/to/your/MyApp.jar
StandardOutput=syslog
StandardError=syslog[Install]
WantedBy=multi-user.target

ExecStart行定义了运行java应用的命令。请将/usr/local/bin/java/path/to/your用真实的文件路径替换。Restart保持always,确保该服务在重启或意外停止后自动重启。

如果myapp.service与此不同,User应该设置为运行此应用的实际用户名。Systemd可以为此服务创建和使用其他用户。

Step 2: 让systemd加载新的服务

systemd加载新创建的服务

sudo systemctl daemon-reload

Step 3: 启动与启用服务

服务创建和加载之后,即可启动该服务:

sudo systemctl start myapp.service

如果想让这个服务开机自启所有服务,可以使用下面这个命令:

sudo systemctl enable myapp.service

Step 4: 检查服务状态

使用以下命令可以查看服务的状态及日志:

sudo systemctl status myapp.service

确保服务事项正确并运行,如果没有,通过journalctl检查日志错误:

journalctl -u myapp.service

通过上面的过程,Jar文件将在服务器重启后自动重启。

扩展使用:关联其他服务

如果想要确保jar包关联其他的服务,例如数据库或消息队列,可以在systemd服务脚本文件中写入相应的After, Before, Requires关键词,这样就可以保证服务是在其他被依赖的服务启动后才运行,或者与他们一同启动。查询systemd相关的文档来更详细地理解这些关键词的使用。

示例:如果后端服务依赖于数据库,可以添加以下行:

Requires=db.service
After=db.service

并确保db.service已经定义,在systemd配置中被适当地配置。按照这样的方式,可以保障多个服务的正确启动顺序,以确保java前后端项目能够在服务器重启后再次正确运行。

这篇关于服务器重启后能够自动重启Jar包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1131759

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

maven 编译构建可以执行的jar包

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~ 专栏导航 Python系列: Python面试题合集,剑指大厂Git系列: Git操作技巧GO

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

RTMP流媒体服务器 crtmpserver

http://www.oschina.net/p/crtmpserver crtmpserver又称rtmpd是Evostream Media Server(www.evostream.com)的社区版本采用GPLV3授权 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议(RT

Golang服务平滑重启

与重载配置相同的是我们也需要通过信号来通知server重启,但关键在于平滑重启,如果只是简单的重启,只需要kill掉,然后再拉起即可。平滑重启意味着server升级的时候可以不用停止业务。 我们先来看下Github上有没有相应的库解决这个问题,然后找到了如下三个库: facebookgo/grace - Graceful restart & zero downtime deploy for G

Flink任务重启策略

概述 Flink支持不同的重启策略,以在故障发生时控制作业如何重启集群在启动时会伴随一个默认的重启策略,在没有定义具体重启策略时会使用该默认策略。如果在工作提交时指定了一个重启策略,该策略会覆盖集群的默认策略默认的重启策略可以通过 Flink 的配置文件 flink-conf.yaml 指定。配置参数 restart-strategy 定义了哪个策略被使用。常用的重启策略: 固定间隔 (Fixe