1. 程式人生 > >springboot在伺服器上的幾種啟動方式

springboot在伺服器上的幾種啟動方式

一、使用內建的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下,重啟即可。。。