转载

如何部署后端jar包?

如何部署后端jar包?

虽然是前端,但是自己启动了以vue,typescript,iview,spring-boot,mysql为技术栈启动的arya-spring-vue全栈项目。

前端文件部署已经初步掌握: 如何部署前端dist目录? 。

但是服务端是有点懵的:一来自己不是后端,平时没有这方面的经验;二来无论是node全栈项目,还是vue+spring全栈项目,都仅仅在自己本地运行成功过。

也刚刚成功将arya-spring-vue-be成功部署到了一台CentOS腾讯云服务器上,趁热记录一下。

  • 前置知识
  • Spring Boot Maven Plugin打包出内嵌tomcat的jar包
  • CentOS安装jdk并设置环境变量
  • CentOS7安装MySQL
  • 新建数据库和用户并运行jar包

前置知识

maven,tomcat,jar。

虽然有nodejs服务端经验,但我是java技术栈萌新,所以有以下疑问:

  • 在服务器上java服务端的服务是怎样跑起来的?
  • 会像前端构建一个类似dist的包吗?

在思考这两个问题之前,先来补充一些前置知识。

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...

在服务器上java服务端的服务是怎样跑起来的?tomcat环境下运行的jar包;内嵌tomcat的jar包。

会像前端构建一个类似dist的包吗?需要,通常是jar包,也可以是war包。 mvn packagemvn package spring-boot:repackage 打包。

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

已有条件:

spring-boot项目 arya-spring-vue-be

maven已安装

jdk已安装

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.jar

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...

原文  https://segmentfault.com/a/1190000021155413
正文到此结束
Loading...