如何部署后端jar包?

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 如何部署后端jar包?

image.png

虽然是前端,但是自己启动了以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...


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
Java 测试技术 Maven
maven 打jar包:mvn clean package
maven 打jar包:mvn clean package
32 7
|
2天前
|
Oracle Java 关系型数据库
实时计算 Flink版操作报错合集之本地打成jar包,运行报错,idea运行不报错,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
23 6
|
6天前
|
Java Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(一)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
19 0
|
2天前
|
Oracle Java 关系型数据库
实时计算 Flink版操作报错合集之本地打成jar包,运行报错,idea运行不报错,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
12 0
|
6天前
|
JavaScript 前端开发 Java
java项目的打包将vue放到.jar里面部署
java项目的打包将vue放到.jar里面部署
|
6天前
|
Java Go Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(二)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
13 0
|
6天前
|
前端开发 Java Linux
宝塔Linux:部署His医疗项目通过jar包的方式
宝塔Linux:部署His医疗项目通过jar包的方式
|
6天前
|
安全 Java Docker
|
1天前
|
监控 负载均衡 API
构建高效可靠的微服务架构:后端开发的新趋势
【5月更文挑战第19天】 在当今快速发展的数字时代,微服务架构已经成为了软件开发领域的一大热点。本文将深入探讨如何构建一个高效且可靠的微服务架构,以满足不断变化的业务需求和应对日益增长的用户需求。我们将从微服务的基本概念、优势、关键技术以及实践建议等方面进行详细阐述,为后端开发人员提供一套完整的解决方案。
|
3天前
|
监控 持续交付 开发者
构建高效微服务架构:后端开发的新范式
【5月更文挑战第18天】 随着现代软件开发的复杂性日益增长,传统的单体应用架构已难以满足快速迭代和灵活部署的需求。本文聚焦于一种新兴的解决方案——微服务架构,探讨其如何为后端开发带来革命性的改变。我们将深入分析微服务的核心概念、优势与挑战,并通过具体案例来阐述如何在实际项目中实施微服务架构。文章旨在为开发者提供一种系统化的方法,帮助他们理解并应用微服务架构,以提升系统的可维护性、扩展性和技术敏捷性。
14 2

热门文章

最新文章