版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/78342573
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 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