如何部署後端jar包?

16eb76957301ba6c.png

雖然是前端,可是本身啓動了以vue,typescript,iview,spring-boot,mysql爲技術棧啓動的arya-spring-vue全棧項目。前端

前端文件部署已經初步掌握:如何部署前端dist目錄?vue

可是服務端是有點懵的:一來本身不是後端,平時沒有這方面的經驗;二來不管是node全棧項目,仍是vue+spring全棧項目,都僅僅在本身本地運行成功過。java

也剛剛成功將arya-spring-vue-be成功部署到了一臺CentOS騰訊雲服務器上,趁熱記錄一下。node

  • 前置知識
  • Spring Boot Maven Plugin打包出內嵌tomcat的jar包
  • CentOS安裝jdk並設置環境變量
  • CentOS7安裝MySQL
  • 新建數據庫和用戶並運行jar包

前置知識

maven,tomcat,jar。
雖然有nodejs服務端經驗,但我是java技術棧萌新,因此有如下疑問:mysql

  • 在服務器上java服務端的服務是怎樣跑起來的?
  • 會像前端構建一個相似dist的包嗎?

在思考這兩個問題以前,先來補充一些前置知識。linux

maven:[[譯]Maven in 5 Minutes](https://github.com/FrankKai/j...,[[譯]Maven Getting Started Guide](https://github.com/FrankKai/j...
tomcat:Apache Tomcat初體驗
jar:[[譯]Create a Fat Jar App with Spring Boot](https://github.com/FrankKai/j...,[[譯]Running a Spring Boot App with Maven vs an Executable War/Jar](https://github.com/FrankKai/j...git

在服務器上java服務端的服務是怎樣跑起來的?tomcat環境下運行的jar包;內嵌tomcat的jar包。
會像前端構建一個相似dist的包嗎?須要,一般是jar包,也能夠是war包。mvn packagemvn package spring-boot:repackage打包。github

Spring Boot Maven Plugin打包出內嵌tomcat的jar包

已有條件:
spring-boot項目arya-spring-vue-be
maven已安裝
jdk已安裝web

pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<build>
    <plugins>
        ...
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        ...
    </plugins>
</build>

打包

mvn clean package spring-boot:repackage

打包出內嵌tomcat的jar包:arya-spring-vue-be-0.0.1-SNAPSHOT.jarspring

CentOS安裝jdk並設置環境變量

安裝JDK

mkdir /usr/java  # 建立 java 文件夾
cd /usr/java     # 進入 java 文件夾

本地下載好jdk-11.0.5_linux-x64_bin.tar.gz。
使用FileZila將JDK 安裝包上傳到上述 java 文件夾下,而後解壓安裝包。

// 解壓安裝包
chmod +x jdk-11.0.5_linux-x64_bin.tar.gz
tar -xzvf jdk-11.0.5_linux-x64_bin.tar.gz
// 設置環境變量
打開 /etc/profile 文件。
vim /etc/profile

輸入如下配置並保存:

export JAVA_HOME=/usr/java/jdk-11.0.5
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
// 配置文件當即生效
source /etc/profile

CentOS7安裝MySQL

[[譯]How To Install MySQL On CentOS 7](https://github.com/FrankKai/j...

sudo yum install mysql-server這一步是存在一些坑的,其次就是下載mysql須要一些等待時間。

新建數據庫和用戶並運行jar包

查看https://github.com/arya-sprin...

看到以下數據庫配置

spring.datasource.url=jdbc:mysql://localhost:3306/arya_spring_vue_be
spring.datasource.username=arya_spring_vue_user
spring.datasource.password=password

所以如此建立數據庫和用戶

mysql> create database arya_spring_vue_be;
mysql> create user 'arya_spring_vue_user'@'%' identified by 'password';
mysql> grant all on arya_spring_vue_be.* to 'arya_spring_vue_user'@'%';

運行jar包:jar -jar arya-spring-vue-be-0.0.1-SNAPSHOT.jar

.   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.3.RELEASE)

2019-11-29 18:05:43.092  INFO 10520 --- [           main] c.a.s.v.a.AryaSpringVueBeApplication     : Starting AryaSpringVueBeApplication v0.0.1-SNAPSHOT on VM_0_11_centos with PID 10520 (/usr/java/arya-spring-vue-be-0.0.1-SNAPSHOT.jar started by root in /usr/java)
...
2019-11-29 18:06:00.154  INFO 10520 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2019-11-29 18:06:00.184  INFO 10520 --- [           main] c.a.s.v.a.AryaSpringVueBeApplication     : Started AryaSpringVueBeApplication in 19.419 seconds (JVM running for 21.197)
  • 好看的Spring提示
  • Tomcat成功運行在8080端口
  • AryaSpringVueBeApplication成功啓動

至此,後端jar包部署成功!

原文地址:https://github.com/arya-sprin...

相關文章
相關標籤/搜索