Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何部署后端jar包? #2

Open
FrankKai opened this issue Nov 29, 2019 · 5 comments
Open

如何部署后端jar包? #2

FrankKai opened this issue Nov 29, 2019 · 5 comments

Comments

@FrankKai
Copy link
Contributor

虽然是前端,但是自己启动了以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包
@FrankKai
Copy link
Contributor Author

前置知识

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

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

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

maven:[译]Maven in 5 Minutes[译]Maven Getting Started Guide
tomcat:Apache Tomcat初体验
jar:[译]Create a Fat Jar App with Spring Boot[译]Running a Spring Boot App with Maven vs an Executable War/Jar

在服务器上java服务端的服务是怎样跑起来的?tomcat环境下运行的jar包;内嵌tomcat的jar包。
会像前端构建一个类似dist的包吗?需要,通常是jar包,也可以是war包。mvn packagemvn package spring-boot:repackage打包。

@FrankKai
Copy link
Contributor Author

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

@FrankKai
Copy link
Contributor Author

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

@FrankKai
Copy link
Contributor Author

CentOS7安装MySQL

[译]How To Install MySQL On CentOS 7

sudo yum install mysql-server这一步是存在一些坑的,其次就是下载mysql需要一些等待时间。

@FrankKai
Copy link
Contributor Author

新建数据库和用户并运行jar包

查看https://github.com/arya-spring-vue/arya-spring-vue-be/blob/master/src/main/resources/application.properties

看到如下数据库配置

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包部署成功!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant