1. 程式人生 > >SpringBoot專案的雲伺服器部署

SpringBoot專案的雲伺服器部署

1.場景還原

     springboot配置相當簡單,人人皆知。怎麼把springboot工程部署到雲伺服器上呢?可能有人會說,博主你前篇不是講了java工程的雲部署把;但是我想澄清一點的是,我前篇的工程都是ssm框架搭建的,而springboot可是自帶tomcat嘍!這就有點麻煩....淡定,往下看

2.配置解析

①application.properties檔案

# EMBEDDED SERVER CONFIGURATION (ServerProperties)
server.port=8010
server.session-timeout=1800
server.context-path=
server.tomcat.max-threads
=0 server.tomcat.uri-encoding=UTF-8 server.tomcat.basedir=target/tomcat # HTTP encoding (HttpEncodingProperties) spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true #datasource spring.datasource.url=jdbc:mysql://192.168.0.129/ccoee?useUnicode=true&characterEncoding=UTF-8
spring.datasource.username=zhangxing spring.datasource.password=zxp52077 spring.datasource.driverClassName=com.mysql.jdbc.Driver #mybatis mybatis.type-aliases-package=com.cckj.model mybatis.mapper-locations=classpath:mapper/*.xml #mapper mapper.mappers=tk.mybatis.mapper.common.Mapper mapper.not-empty=
false mapper.identity=MYSQL #pagehelper pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql #logging #logging.level.root=INFO #logging.level.org.springframework.web=DEBUG logging.level.org.zhangxing=DEBUG

就是這個檔案 包羅了ssm框架的煩瑣配置,哪個程式設計師不愛呢?那麼既然愛,請深愛!將遠端資料庫連線配好,這裡不再贅述。

②pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <packaging>jar</packaging>
  <groupId>magic</groupId>
  <artifactId>magic</artifactId>
  <version>1.0-SNAPSHOT</version>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.3.RELEASE</version>
  </parent>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.10</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>tk.mybatis</groupId>
      <artifactId>mapper-spring-boot-starter</artifactId>
      <version>1.0.0</version>
    </dependency>
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper-spring-boot-starter</artifactId>
      <version>1.0.0</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>helloworld</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
  <repositories>
    <repository>
      <id>spring-milestone</id>
      <url>http://repo.spring.io/libs-release</url>
    </repository>
  </repositories>
</project>
這裡要注意的是,打包方式jar,不再是war
<packaging>jar</packaging>
自定義打包名稱
<build>
    <finalName>helloworld</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
  <repositories>
    <repository>
      <id>spring-milestone</id>
      <url>http://repo.spring.io/libs-release</url>
    </repository>
  </repositories>

③Application啟動類程式碼

@SpringBootApplication
@MapperScan(basePackages = "com.cckj.dao", markerInterface =Mapper.class)
public class Application {


    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
}
}
注意:各個方法中的測試主函式最好全部註釋掉!

3.實現方案

準備工作:在部署之前,首先確認雲伺服器是否裝有tomcat環境,並且服務時候開啟!若無環境,請自行安裝並開啟服務

①開始打jar包

跟前篇步驟一樣,點開右邊的Maven Project,點選Lifecycle,最後雙擊packet,生成jar包


②將剛打的jar上傳至雲伺服器的java目錄下


③執行命令:java -jar helloworld.jar,然後springboot工程的內建tomcat就開啟了

注意:部署好之後,需要開放埠號:3306,8089

訪問效果:


這裡還沒完呢,當然你關閉當前的xshell 命令介面時,再次訪問就失效了,這是因為springboot內建的tomcat隨之也關閉了,那麼有人會問,這叫什麼雲部署呀?跟本地沒兩樣,是啊,我也這麼覺得;別急,往下看

④常駐雲伺服器

執行命令: nohup java -jar helloworld.jar &

nohup的意思不掛服務,常駐的意思,除非雲伺服器重啟,那就沒法了;最後一個&表示執行命令後要生成日誌檔案nohup.out


好了,這樣就不擔心關閉xshell,只要雲伺服器不關閉,總能訪問的。

好了,我是張星,歡迎加入博主技術交流群,群號:526601468