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

转自https://blog.csdn.net/chszs/article/details/78342573

本文讲述在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 workspace
WorkingDirectory=/home/ubuntu/workspace
#path to executable. 
#executable is a bash script which calls jar file
ExecStart=/home/ubuntu/workspace/my-webapp
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target

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

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

#!/bin/sh
sudo /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

你可能感兴趣的:(Java应用在Ubuntu平台以服务的方式运行)