2016-12-01 207 views
1

我有一個數字海洋液滴中的彈簧啓動可執行文件。我能夠使用java -jar myapp.jar執行罐子現在我想讓我作爲服務運行。無法啓動systemd服務

我創建的文件/etc/systemd/system/myapp.service這些內容

[Unit] 
Description=myapp 
After=syslog.target 

[Service] 
User=kevin 
ExecStart=/var/myapp/myapp-backend-1.0-SNAPSHOT.jar 
SuccessExitStatus=143 

[Install] 
WantedBy=multi-user.target 

然後啓用它在系統啓動時

systemctl enable myapp.service 

我開始現在試圖開始服務

systemctl start myapp.service 

但我' m如果這個錯誤

Failed to start myapp.service: Unknown unit: myapp.service See system logs and 'systemctl status myapp.service' for details.

運行systemctl status myapp.service回報這樣的:

Failed to get properties: No such interface '' 

回答

0

你需要一個包裝腳本爲ExecStart提到的處理啓動,停止和重新啓動方法的罐子。

廣泛的說明和示例腳本可以發現here

0

試試這個:

[Unit] 
Description=myapp 
After=syslog.target 

[Service] 
User=kevin 
ExecStart=java -jar /var/myapp/myapp-backend-1.0-SNAPSHOT.jar 
SuccessExitStatus=143 
Restart=always 
RestartSec=5 

[Install] 
WantedBy=multi-user.target 

我有加:

的java在您選擇的罐子 ExecStart

重新啓動=總是 =>如果java破解, systemd重新啓動服務

RestartSec = 5 =>碰撞服務重啓AVEC5秒

您選擇修改後,重新裝入systemd守護程序後:

systemctl daemon-reload 

開啓啓動:

systemctl enable myapp.service 

從現在開始:

systemctl start myapp.service 
+0

不過getiing此錯誤: 無法啓動myapp.service:未知單位:myapp.service 查看系統日誌和細節 'systemctl狀態myapp.service'。 – kev

+1

可以在systemctl重啓myapp.service之後加入「systemctl -xn」的輸出嗎? –