云计算百科
云计算领域专业知识百科平台

ubuntu服务器系统上实现开机自动启动JAR包

方法一:使用 systemd 服务

systemd 是现代 Linux 系统中广泛使用的系统和服务管理器,通过创建一个 systemd 服务单元文件,可以方便地实现 JAR 包的开机自启。以下是具体步骤:

1. 创建服务单元文件

使用文本编辑器(如 nano)创建一个新的服务单元文件,通常存放在 /etc/systemd/system 目录下,文件名可以自定义,以 .service 结尾,例如 myjar.service:

sudo vi /etc/systemd/system/myjar.service

2. 编写服务单元文件内容

在打开的文件中添加以下内容,根据实际情况修改相关参数:

[Unit]
Description=My Java Application
After=network.target

[Service]
User=chao
#Group=chao
#SupplementaryGroups=adm cdrom sudo dip plugdev lxd
#SuccessExitStatus=143
ExecStart=/usr/bin/java -jar /home/chao/jar/tlias-web-management-0.0.1-SNAPSHOT.jar
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

替换自己的信息

User=chao # 替换为运行 JAR 包的普通用户

ExecStart=/usr/bin/java -jar /home/chao/jar/tlias-web-management-0.0.1-SNAPSHOT.jar # 替换为 JAR 包的完整路径

  • [Unit] 部分:
    • Description:对服务的描述信息。
    • After:指定该服务在网络服务启动后再启动。
  • [Service] 部分:
    • User 和 Group:指定运行 JAR 包的用户和用户组。
    • ExecStart:启动 JAR 包的命令。
    • Restart:设置服务在异常退出时自动重启。
    • RestartSec:服务重启的间隔时间。
  • [Install] 部分:
    • WantedBy:指定该服务在多用户模式下启动。
2.1查看当前用户所属用户组:

使用groups命令 在终端中输入groups并按下回车,即可查看当前用户所属的所有组。例如:

groups

输出可能类似于:

your_username : adm cdrom sudo dip plugdev ...

这表示当前用户your_username属于adm、cdrom、sudo、dip、plugdev等用户组。

3. 保存并退出文件,检查服务文件语法

按 esc 键 ,然后输入 :wq 后,按回车键退出并保存文件。

检查服务文件语法:使用 systemd-analyze 命令检查服务文件的语法是否正确:

sudo systemd-analyze verify /etc/systemd/system/myjar.service

如果存在语法错误,会输出相应的错误信息,根据错误信息修改服务文件。

4. 启用并启动该systemd服务

sudo systemctl daemon-reload

然后,启动服务并设置开机自启

sudo systemctl start myjar.service
sudo systemctl enable myjar.service

  • start 命令用于立即启动服务。
  • enable 命令用于设置服务开机自启。

5. 测试服务是否能够在失败后自动重启

你可以手动停止服务来测试自动重启功能:

sudo systemctl stop myjar.service

7. 等待几秒钟,然后检查服务状态:

sudo systemctl status myjar.service

如果服务正常运行,会显示 active (running) 状态。

8. 查看服务日志进行故障排除

如果服务没有按预期工作,你可以查看服务日志来获取更多信息:

sudo journalctl -u myjar.service

这将显示服务的所有日志条目,包括任何错误消息,这有助于你进行故障排除。

通过遵循这些步骤,你可以在Ubuntu 20.04上设置开机自启jar服务,并确保在启动失败时无限自启动。


方法二:使用 crontab 定时任务

crontab 是 Linux 系统中用于定期执行任务的工具,通过在 crontab 中添加一条开机启动的任务,也可以实现 JAR 包的开机自启。以下是具体步骤:

1. 编辑当前用户的 crontab 文件

crontab -e

如果是第一次编辑,会提示选择编辑器,选择你熟悉的编辑器(如 vim)即可。

2. 添加开机启动任务

在打开的文件中添加以下内容,根据实际情况修改 JAR 包的路径:

@reboot /usr/bin/java -jar /home/chao/jar/tlias-web-management-0.0.1-SNAPSHOT.jar &

@reboot 表示在系统开机时执行该命令,& 表示让命令在后台运行。

3. 保存并退出文件
4. 验证 crontab 任务

crontab -l

确保刚才添加的任务已经正确显示。


以上两种方法都可以实现 JAR 包在 Ubuntu 服务器开机时自动启动,推荐使用 systemd 服务的方式,因为它提供了更强大的服务管理功能。

赞(0)
未经允许不得转载:网硕互联帮助中心 » ubuntu服务器系统上实现开机自动启动JAR包
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!