方法一、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服务。对于其他情况,选择其他方法可能更简单直接。






















暂无评论内容