springboot在伺服器上的幾種啟動方式
阿新 • • 發佈:2019-01-10
一、使用內建的tomcat,通過java -jar的方式啟動
比如:java -jar bms.jar
但是這種啟動方式 一旦關閉控制檯 或者crtl+c 退出 此時應用就關閉了
所以我們需要換種方式
springboot中的maven外掛,提供了一種很方便的類似於shell的開啟、關閉、重啟服務的操作。而且這種啟動方式是讓專案在後臺執行的,關閉shell也不會使專案停止執行
1、首先,專案的pom新增下面的外掛,然後maven install
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot </groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
2、將打包好的springboot jar包放入到伺服器上,然後執行下面的命令
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms
3、上述命令執行完全之後,通過下面的命令就可以啟動、關閉、重啟專案了。 /etc/init.d/bms start /etc/init.d/bms stop /etc/init.d/bms restart 當然,有些人啟動的時候,可能會報下面的一個錯誤,這是許可權不足 -bash: /etc/init.d/bms: Permission denied 執行下面命令就可解決問題 cd /etc/init.d/ chmod a+x bms 或 chmod 777 bms 二、使用war包方式,通過tomcat啟動 1、修改打包方式 <packaging>war</packaging >
2、移除springboot內建tomcat,新增測試tomcat依賴。。修改pom.xml檔案
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 打包的時候以war包形式,這裡要把springboot整合的tomcat去除
-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 專案測試需要 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3、修改啟動類,
在application的同目錄下,新增一個新的類,繼承SpringBootServletInitializer並重寫其configure方法
程式碼如下
/**
* 修改啟動類,繼承 SpringBootServletInitializer 並重寫 configure 方法
*/
publicclassSpringBootStartApplication
extends
SpringBootServletInitializer {
@Override
protectedSpringApplicationBuilder
configure(SpringApplicationBuilderbuilder)
{
// 注意這裡要指向原先用main方法執行的Application啟動類
returnbuilder.sources(BootStrap.class);
}
}
4、將war包放到伺服器上的tomcat下,重啟即可。。。
3、上述命令執行完全之後,通過下面的命令就可以啟動、關閉、重啟專案了。 /etc/init.d/bms start /etc/init.d/bms stop /etc/init.d/bms restart 當然,有些人啟動的時候,可能會報下面的一個錯誤,這是許可權不足 -bash: /etc/init.d/bms: Permission denied 執行下面命令就可解決問題 cd /etc/init.d/ chmod a+x bms 或 chmod 777 bms 二、使用war包方式,通過tomcat啟動 1、修改打包方式 <packaging>war</packaging