linux centos中把jar包设置为开机自启动

创建service文件

CentOS系统中, /usr/lib/systemd/system/etc/systemd/system 目录均可用于存放Systemd服务单元文件,但它们的用途稍有不同:

  1. /usr/lib/systemd/system 目录:

    • 存放的是系统安装的软件包提供的服务单元文件。
    • 该目录下的服务单元文件属于系统级别的服务,由软件包的提供方提供和管理。
    • 在升级或重新安装软件包时,该目录中的服务单元文件可能会被更新或替换。
    • 避免直接修改该目录下的服务单元文件,以免被未来的软件包更新覆盖。
  2. /etc/systemd/system 目录:

    • 存放的是用户自定义的服务单元文件和覆盖系统级别的服务单元文件。
    • 该目录下的服务单元文件属于本地管理范畴,用于配置自定义的服务、覆盖系统服务的设置或提供自定义的配置。
    • 该目录下的服务单元文件不会受到软件包的更新影响,除非你手动进行更改。
    • 推荐将自定义的服务单元文件放置在该目录下。

总结来说,/usr/lib/systemd/system 目录是系统级别的服务单元文件存放位置,由软件包提供和管理。而 /etc/systemd/system 目录是用户级别的服务单元文件存放位置,可用于自定义服务以及覆盖系统服务的设置。

如果你需要创建自定义的服务单元文件,推荐将其放置在 /etc/systemd/system 目录下,并避免直接修改 /usr/lib/systemd/system 目录中的服务单元文件。

2:编辑文件内容

java 复制代码
[Unit]
Description=My JAR Service
After=network.target

[Service]
ExecStart=/usr/bin/java -jar /path/to/myjar.jar
WorkingDirectory=/path/to
SuccessExitStatus=143
Restart=always
User=your_username

[Install]
WantedBy=multi-user.target
  • Description:描述你的服务。
  • After:指定启动服务的前置条件,这里使用 network.target 表示在网络启动之后再启动服务。
  • ExecStart:指定要运行的Jar包的命令。/usr/jdk/bin/java -jar 运行jar包的路径
  • (不用nohup命令也不用&)
  • WorkingDirectory:指定运行Jar包的工作目录。
  • SuccessExitStatus:指定成功退出的状态码。这里设置为143,表示使用 systemctl stop 命令终止服务时不会记录为错误。
  • Restart:指定当服务意外退出时是否自动重启。这里设置为always表示总是重启。
  • User:指定服务运行的用户。root

启动服务

systemctl start myjar.service

设置为开机自启

systemctl enable myjar.service

启动服务

systemctl start myjar.service

停止服务

systemctl stop myjar.service

重启服务

systemctl restart myjar.service

查看运行状态

systemctl status myjar.service

如果启动失败注意运行环境

更改service配置之后需要运行以下命令才会生效

sudo systemctl daemon-reload
相关推荐
shuair1 小时前
idea 2023.3.7常用插件
java·ide·intellij-idea
小安同学iter2 小时前
使用Maven将Web应用打包并部署到Tomcat服务器运行
java·tomcat·maven
A ?Charis2 小时前
k8s-对接NFS存储
linux·服务器·kubernetes
Yvonne9782 小时前
创建三个节点
java·大数据
不会飞的小龙人3 小时前
Kafka消息服务之Java工具类
java·kafka·消息队列·mq
是小崔啊3 小时前
java网络编程02 - HTTP、HTTPS详解
java·网络·http
brevity_souls4 小时前
Spring Boot 内置工具类
java·spring boot
小钊(求职中)4 小时前
Java开发实习面试笔试题(含答案)
java·开发语言·spring boot·spring·面试·tomcat·maven
shix .4 小时前
什么是tomcat
java·tomcat
java技术小馆4 小时前
Deepseek整合SpringAI
java·spring cloud