Java應用在Ubuntu平臺以服務的方式運行

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章