linux系统(centos7为例)将jar配置成服务操作教程

方法一、centos7将jar作为一个服务操作过程
——————————————————————————————————————–

打开 /etc/systemd/system 目录
cd /etc/systemd/system

新建一个文件 写入以下内容 这里写个例子
vim lzyhEncrypt.service

# 服务描述
[Unit]
Description=Spring Boot Application

[Service]
# 指定由那个用户启动
User=root
# 工作目录  工作空间
WorkingDirectory=/home/work/lzyhEncrypt
# 执行的命令
ExecStart=/usr/local/java/jdk1.8.0_231/bin/java -jar /home/work/lzyhEncrypt.jar
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target

:wq 保存退出

服务相关命令
# 启动服务
systemctl start lzyhEncrypt.service
# 服务开机自启
systemctl enable lzyhEncrypt.service
# 停止服务
systemctl stop lzyhEncrypt.service
# 查看服务状态
systemctl status lzyhEncrypt.service -l
 

 

方法二、centos把jar包配置成服务并设置开机自启
——————————————————————————————

2.编写启动脚步

vim /etc/systemd/system/test.service

[Unit]
Description=lapis
Requires=network.target remote-fs.target
##启动优先级,在下面的服务之后启动
After=kafka.service zookeeper.service nginx.service emqttd.service mysqld.service redisd.service

[Service]
Type=simple
User=root
Environment=HOME=/home/hdms ##启动路径
Environment=JAVA_HOME=/usr/bin  
WorkingDirectory=/home/hdms   ##启动路径
ExecStart=/bin/sh -c '/usr/bin/java -Xms1024m -Xmx7168m  -jar -Djava.awt.headless=true /home/hdms/HDMS.jar   >/home/hdms/nohup.out 2>&1 '
ExecStop=/usr/bin/kill -9
Restart=on-failure
[Install]
WantedBy=multi-user.target
 
 

3.重新加载systemctl    systemctl daemon-reload

4.设置为开机自启    systemctl enable test

5.启动服务        systemctl start test
 

6.查看是否启动成功       systemctl staus test

 

方法三、centos启动项添加jar
———————————————————————————————————————————
在CentOS系统中,添加启动项来运行Java应用程序(如使用jar包)通常涉及编辑系统的初始化脚本或使用systemd服务。以下是几种常用的方法:

方法1:使用systemd服务
创建服务文件

创建一个新的systemd服务文件。例如,你可以创建一个名为/etc/systemd/system/myapp.service的文件:

[Unit]
Description=My Java Application
After=network.target
 
[Service]
User=username
ExecStart=/usr/bin/java -jar /path/to/your/application.jar
Restart=on-failure
Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk
 
[Install]
WantedBy=multi-user.target

替换username、/path/to/your/application.jar和JAVA_HOME为你的实际用户和Java应用程序路径。

重新加载systemd并启动服务

sudo systemctl daemon-reload
sudo systemctl start myapp.service
sudo systemctl enable myapp.service  # 使服务在启动时自动运行

方法2:使用crontab定时任务
如果你希望在特定时间运行jar包,可以使用cron定时任务。

编辑crontab文件

crontab -e

添加定时任务

例如,每天凌晨1点运行jar包:

0 1 * * * /usr/bin/java -jar /path/to/your/application.jar

方法3:使用at命令(一次性任务)
如果你只需要运行一次性的任务,可以使用at命令。

安排一次性任务

echo “java -jar /path/to/your/application.jar” | at now + 1 minute

方法4:使用screen或tmux(在终端会话中运行)
如果你希望在当前的终端会话中运行jar包,并保持它即使在断开连接后也能运行,可以使用screen或tmux。

启动screen或tmux会话

screen -S myapp  # 或者 tmux new -s myapp

在会话中运行jar包

java -jar /path/to/your/application.jar

脱离会话(在screen中使用Ctrl+A然后按D,在tmux中使用Ctrl+B然后按D)

重新连接会话(使用screen -r myapp或tmux attach -t myapp)

方法5:使用nohup和&(在后台运行)
你也可以在后台使用nohup和&来运行jar包。

nohup java -jar /path/to/your/application.jar &
选择适合你需求的方法来设置你的Java应用程序的启动项。如果你需要服务在系统启动时自动运行,推荐使用systemd服务。对于其他情况,选择其他方法可能更简单直接。

 

 

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容