雖然是前端,可是本身啓動了以vue,typescript,iview,spring-boot,mysql爲技術棧啓動的arya-spring-vue全棧項目。前端
前端文件部署已經初步掌握:如何部署前端dist目錄?。vue
可是服務端是有點懵的:一來本身不是後端,平時沒有這方面的經驗;二來不管是node全棧項目,仍是vue+spring全棧項目,都僅僅在本身本地運行成功過。java
也剛剛成功將arya-spring-vue-be成功部署到了一臺CentOS騰訊雲服務器上,趁熱記錄一下。node
maven,tomcat,jar。
雖然有nodejs服務端經驗,但我是java技術棧萌新,因此有如下疑問:mysql
在思考這兩個問題以前,先來補充一些前置知識。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 package
或mvn package spring-boot:repackage
打包。github
已有條件:
spring-boot項目arya-spring-vue-be
maven已安裝
jdk已安裝web
<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
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
[[譯]How To Install MySQL On CentOS 7](https://github.com/FrankKai/j...
在sudo yum install mysql-server
這一步是存在一些坑的,其次就是下載mysql須要一些等待時間。
查看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)
至此,後端jar包部署成功!