首页 > 系统相关 >Linux服务管理,给JAR包封装为Linux服务

Linux服务管理,给JAR包封装为Linux服务

时间:2023-01-16 15:47:23浏览次数:65  
标签:web practice 服务 JAR xxx jar systemctl Linux

操作服务的命令

在Linux中管理服务,需要使用systemctl命令,例如常用的打开/关闭防火墙

$ systemctl start firewalld
$ systemctl stop firewalld

在这里列举一下systemctl命令常用的操作

# 启动服务
$ systemctl start xxx

# 停止服务
$ systemctl stop xxx

# 重启服务
$ systemctl reload xxx

# 启用服务开机自启
$ systemctl enable xxx

# 关闭服务开机自启
$ systemctl disable xxx

# 查看服务状态
$ systemctl status xxx

# 查看服务是否正在运行
$ systemctl is-active xxx

# 查看服务是否启动失败
$ systemctl is-failed xxx

# 查看服务是否开机自启
$ systemctl is-enabled xxx

# 查看服务列表
$ systemctl list-units xxx

# 刷新服务配置
$ systemctl daemon-reload

服务文件

我们操作的服务都是以文件的形式存储在系统中,服务文件的存储位置有两处,其中一个位于/etc/systemd/system,systemctl会读取该目录下的服务文件并执行,同时该目录中有一些文件为符号连接,连接的地址为/usr/lib/systemd/system,这个是真正存放服务的目录

标准的服务文件以.service结尾,文件内容包括UnitServiceInstall三个区块,我在/opt/java目录下上传了practice-web.jar的文件,接下来就为他编写服务文件

一般来说自建服务在/etc/systemd/system目录下就可以了,在该目录下创建practice-web.service文件,内容为:

[Unit]
# 服务描述
Description=practice-web.jar

[Service]
# 服务类型为简单服务
Type=simple
# 任何用户都可以使用
User=nobody
# 服务执行时启动的命令,注意这里必须使用绝对路径
ExecStart=/usr/local/jdk-17.0.1/bin/java -jar /opt/java/practice-web.jar

[Install]
# 自启模式配置
WantedBy=multi-user.target

文件编写完成后重新载入服务配置,然后就可以像启动防火墙一样启动jar包

# 刷新服务配置
$ systemctl daemon-reload

# 启动jar包服务
$ systemctl start practice-web.service

# 设置服务开机自启
$ systemctl enable practice-web.service

可以留意一下在/etc/systemd/system目录下有个multi-user.target.wants目录,而服务配置文件中有一段WantedBy=multi-user.target,当启用服务开机自启后,该目录下就会生成符号连接,这就是WantedBy的作用

更多服务详细信息可以到阮一峰博客去看,写的非常详细

标签:web,practice,服务,JAR,xxx,jar,systemctl,Linux
From: https://www.cnblogs.com/hanzhe/p/17055481.html

相关文章

  • 十一、十二(安装红帽Linux、运行容器)
    十一、安装红帽Linux     十三、运行容器                                  ......
  • 嵌入式 Linux 开发 7:编译应用程序
    编译与部署应用程序的流程交叉编译的Makefile依赖库程序库预定的位置是/lib如果将其放置在其他目录,这需要设定查找路径,即配置LD_LIBRARY_PATH环境变量。这会迫使......
  • HTML5 以上超大文件上传和断点续传服务器的实现
    ​ IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag     ......
  • Linux 多进程的生成和调试
    多进程程序代码//fork生成子进程//父进程调用fork返回的是子进程的进程ID,子进程调用该函数返回的是0#include<iostream>#include<unistd.h>#include<cstdio>......
  • linux加载动态库.so的3种方法
        昨天同事联系我,他部署新版本的MS软件提示找不到动态库。但是他能找到这个动态库文件,但不知道如何加载。这样的问题对于我来说是个再简单不过的问题,但对于一个新......
  • VUE 以上超大文件上传和断点续传服务器的实现
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传......
  • 五、六(管理SELinux安全性、管理基本存储)
    五、管理SELinux安全性            setenforce命令只会临时更改模式,不会写到配置文件中。另外,用命令时可以用1代替enforcing,0代替Permissive......
  • linux 以root运行可执行文件
    假如你运行这个软件时的路径是:/app/app.sh把这个可执行文件加上S权限:chmod u+s/app/app.sh当以普通用户运行这个脚本时,就相当于以root权限来运行。......
  • 十五、十六(访问Linux文件系统、分析服务器和获取支持)
    十五、访问Linux文件系统          du-h查看文件大小   find命令是重点             十六、分析服务器......
  • linux 安裝gcc
    linux安裝gcchttps://blog.csdn.net/lydong_/article/details/79812402   改成sudo......   nopackagegccavailableubuntu18.04repo安装https://blo......