Java应用在Ubuntu平台以服务的方式运行

来源:互联网 发布:淘宝代购lv是真的吗 编辑:程序博客网 时间:2024/05/06 04:46

Java应用在Ubuntu平台以服务的方式运行

  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

本文讲述在Ubuntu平台上通过使用服务封装器的方式,把JAR文件以服务的方式运行。读者可以了解器做法,包括自动启动的方式和日志技巧。

假设你有一个可执行的JAR文件,你需要以服务的方式运行这个JAR文件。而且,当系统重启时,希望这个服务能够实现开机自启动。

Ubuntu平台内建了一个创建自定义服务的机制,允许用户把应用程序以服务的方式启动或停止,同时还支持开机自启动。下面,我将分享怎样实现服务封装的方法,通过它把JAR文件封装为服务,并以服务的方式运行JAR文件。

1、创建一个服务

# sudo vim /etc/systemd/system/my-webapp.service

把以下内容复制粘贴到上面的文件中。

[Unit]Description=My Webapp Java REST Service[Service]User=ubuntu# The configuration file application.properties should be here:#change this to your workspaceWorkingDirectory=/home/ubuntu/workspace#path to executable. #executable is a bash script which calls jar fileExecStart=/home/ubuntu/workspace/my-webappSuccessExitStatus=143TimeoutStopSec=10Restart=on-failureRestartSec=5[Install]WantedBy=multi-user.target

2、创建一个调用服务的Bash脚本

下面是调用我的JAR文件(my-webapp)的Bash脚本:

#!/bin/shsudo /usr/bin/java -jar my-webapp-1.0-SNAPSHOT.jar server config.yml

不要忘记为你脚本分配执行权限:

# sudo chmod u+x my-webapp

3、启动服务

# sudo systemctl daemon-reload# sudo systemctl enable my-webapp.service# sudo systemctl start my-webapp# sudo systemctl status my-webapp

4、设置日志

首先,运行 sudo journalctl –unit=my-webapp
如果要查看实时日志,那么使用-f选项。

如果想查看部分,可以使用-n选项查看日志的指定行数。

# sudo journalctl -f -n 1000 -u my-webapp

使用-f选项查看最新的实时日志的输出:

# sudo journalctl -f -u my-webapp

要停止服务,执行:

# sudo systemctl stop my-webapp