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