1. 程式人生 > >spring boot 打成 jar 包採用 systemctl 設定自啟動

spring boot 打成 jar 包採用 systemctl 設定自啟動

關於 systemctl 的用法,大家自行百度

kbase-conference.service 的 demo 如下

[Unit]
Description=kbase-conference
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/home/ibotkbs/kbase-conference/startup.service.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/home/ibotkbs/kbase-conference/shutdown.sh
PrivateTmp=true  
SuccessExitStatus=143    

[Install]  
WantedBy=multi-user.target

/home/ibotkbs/kbase-conference/startup.service.sh 檔案內容如下

#!/bin/sh
/home/ibotkbs/jdk1.8.0_151/bin/java -Xmn384M -Xmx1024M -Xms1024M -Xss256k -jar /home/ibotkbs/kbase-conference/kbase-conference-0.0.1-SNAPSHOT.jar -java.io.tmpdir=/home/ibotkbs/tmp --spring.config.location=/home/ibotkbs/kbase-conference/config/application.properties --spring.profiles.active=dev > /home/ibotkbs/kbase-conference/logs/stdout.log &

/home/ibotkbs/kbase-conference/shutdown.sh 檔案內容如下:

#!/bin/sh
kill -9 `ps -ef|grep java|grep -v grep|grep kbase-conference|awk '{print $2}'`

注意事項

1、spring boot 這裡主要遇到的問題是配置檔案的指定,主要加上下面這句,就可以讀到配置

--spring.config.location=/home/ibotkbs/kbase-conference/config/application.properties

2、startup.sh 中一定要用守護程序,否則 systemctl start 超過 90 秒會自動停掉,有一個超時的報錯

[[email protected] ~]# systemctl status kbase-conference.service
● kbase-conference.service - kbase-conference
   Loaded: loaded (/usr/lib/systemd/system/kbase-conference.service; enabled; vendor preset: disabled)
   Active: failed (Result: timeout) since Fri 2018-03-30 19:13:44 CST; 3min 33s ago
  Process: 4172 ExecStart=/home/ibotkbs/kbase-conference/startup.service.sh (code=killed, signal=TERM)

Mar 30 19:12:13 rabbitmq01 systemd[1]: Starting kbase-conference...
Mar 30 19:13:44 rabbitmq01 systemd[1]: kbase-conference.service start operation timed out. Terminating.
Mar 30 19:13:44 rabbitmq01 systemd[1]: Failed to start kbase-conference.
Mar 30 19:13:44 rabbitmq01 systemd[1]: Unit kbase-conference.service entered failed state.
Mar 30 19:13:44 rabbitmq01 systemd[1]: kbase-conference.service failed.

相關推薦

spring boot jar 採用 systemctl 設定啟動

關於 systemctl 的用法,大家自行百度kbase-conference.service 的 demo 如下[Unit] Description=kbase-conference After=network.target remote-fs.target nss-loo

【轉】Spring boot jar問題總結

alt date function get .post stack 問題 chan property http://www.cnblogs.com/xingzc/p/5972488.html 1、Unable to find a single main class

Spring boot jar問題彙總

在使用springBoot時,你總是會遇到需要打包的時候呢。 pom檔案中添加了【org.springframework.boot:spring-boot-maven-plugin】外掛。 在添加了該外掛之後,當執行【mvn package】進行打包時,會打包成一個可

Spring bootjar執行沒有主清單屬性

因為使用parent工程來統一管理jar包,所以我們的子工程是繼承父工程! 所以沒有繼承spring-boot-starter-parent這個parent pom!而是引入spring-boot-st

spring boot jar,部署到公司Linux系統的伺服器

FileZilla使用詳情 主機號:47.88.171.117 使用者名稱:root 密碼:[email protected]@7281001 埠:22 遠端站點:/develop/myjar 將其中檔案miner-currency-0.0.1-SNA

Spring-boot jar後使用外部配置檔案

官網說明 第一種是在jar包的同一目錄下建一個config資料夾,然後把配置檔案放到這個資料夾下;  第二種是直接把配置檔案放到jar包的同級目錄;  第三種在classpath下建一個config資料夾,然後把配置檔案放進去;  第四種是在classpath下直接放配置檔

【springbootwar訪問】spring bootjar訪問不了jsp頁面問題

問題描述:IDE中測試無問題,打成jar包無法訪問JSP 方案一:將springboot版本將為1.4.2release,實際測試發現我這裡不能正常打包,遂放棄 方案二:將專案打成war包,依舊用java -jar projectName.war的方式訪問 步驟一 p

spring bootjar用外部配置檔案替換配置

由於需求的原因,配置檔案中的資料庫連線等內容需要動態替換。 首先搜到的是可以執行jar包的時候傳配置引數: java -jar demo.jar --server.port = 9000 但是客戶端傳給我的是一整個大json串,所以pass。 然後瞭解到SpringA

Spring Boot war以及jar方法

一.打成war包 1.修改pom.xml中的jar為war <groupId>com.hua</groupId> <artifactId>miaosha</artifactId> <version>0.0.1-S

spring boot war釋出

啟動類 -- xxxApplication.java 繼承  extends SpringBootServletInitializer 重寫 // 打war包需要 @Override protected SpringApplicationBuilder configur

spring boot 打包jar 在釋出到伺服器上

pom.xml檔案。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.o

spring boot 打包jar 在釋出到伺服器上 (NoClass/ClassNotFound等問題解決方法)

pom.xml檔案。<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/

Spring Boot war部署到tomcat8.5.20報無法訪問

這裡記錄一下自己的心得 時間:2017.11.05-2017.11.06 問題:Spring Boot 專案經過mvn clean install之後的war包部署到tomcat 8.5.20裡,訪問不到資源(之前不同專案用此打包方法都是可以訪問到的) 問題展示的樣式:1)

Spring Bootjar啟動時報錯

springboot出現Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]],也就是tomcat啟動不起來,原因:可能是 servlet-api-x.x.jar衝突,原來我在pom

spring boot工程JAR到服務器上運行

target bsp oal get tid 文件夾 mave 項目 java 只需在項目的pom.xml中加入下面插件 <build> <plugins> <plugin> <gr

如何使用maven打包spring boot專案,jar

如果你使用的是maven來管理專案,執行以下命令即可cd 專案跟目錄(和pom.xml同級) mvn clean package ## 或者執行下面的命令 ## 排除測試程式碼後進行打包 mvn clean package -Dmaven.test.skip=true也可以

spring boot專案jar,部署

1.在pom.xml檔案中新增2.在pom.xml中新增新的外掛3.找到專案檔案的根目錄,在cmd命令列中輸入:mvn clean package出現build success即為打包完成4.在專案中的target目錄下出現一個可執行的jar檔案此時在此資料夾下執行:java

如何將spring boot工程JAR到伺服器上執行

只需在專案的pom.xml中加入下面外掛 <build>     <plugins>         <plugin>             <groupId>org.springframework.boot</gro

如何Spring Boot專案JAR以及WAR方式

一、將Spring Boot專案打成JAR包1.先選擇專案的根目錄 IDEA2.在命令視窗cmd中cd  專案路徑→選中路徑的磁碟3.輸入Maven命令 mvn -Dmaven.test.Skip -U clean package4.如果是Maven多層架構  會報錯  找不

如何執行spring專案,並jar進行釋出

一、建立spring專案 1、建立專案   2、建立moudule,選擇java型別即可。   3、建立lib檔案,引入spring的4個核心包spring-beans、spring-context、spring-core、spring-expression,以及核心