Spring boot項目部署到云服務(wù)器小白教程詳解
本篇文章主要介紹了Spring boot項目部署到云服務(wù)器小白教程詳解,分享給大家,具體如下:
測試地址:47.94.154.205:8084
一、Linux下應(yīng)用Shell通過SSH連接云服務(wù)器
//ssh 用戶名@公網(wǎng)IP ssh josiah@ip // 輸入密碼
二、開始搭建SpringBoot的運行環(huán)境
1.安裝JDK并配置環(huán)境變量
1) 打開JDK官網(wǎng) www.oracle.com
2) 找面最新對應(yīng)的JDK版本,下載
這里要注意的一個問題是:云服務(wù)器下載JDK時一定要在本地去oracle官網(wǎng)去下載后再上傳到云服務(wù)器上,不能直接通過wget的方式下載,因為下載JDK時要勾選同意它的協(xié)議,直接用wget下載鏈接的話默認(rèn)不會同意協(xié)議,下載的結(jié)果就會是一個.html文件,就無法解壓安裝了。
將壓縮包上傳到云服務(wù)器的命令為:
3) 將下載好的壓縮包解壓到指定目錄
sudo mkdir Java tar -zxvf jdk-9.0.5.....tar.gz -C ./Java
4) 配置JDK環(huán)境變量
①添加系統(tǒng)環(huán)境變量:
sudo vi /etc/environment
加入下列內(nèi)容:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export JAVA_HOME=/home/josiah/Java/jdk1.8.0_161
執(zhí)行配置文件,即讓配置文件立即生效
source /etc/environment
②添加用戶環(huán)境變量
sudo vi /etc/profile
加入下列內(nèi)容:
export JAVA_HOME=/home/josiah/Java/jdk1.8.0_161 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
同樣執(zhí)行配置文件,讓配置文件立即生效:
source /etc/profile
③驗證JDK是否安裝成功
java -version
2.安裝Mysql
參考鏈接:http://chabaoo.cn/article/114262.htm
3.安裝Git
sudo apt-get install git git --version
4.安裝Maven
1) 下載Maven安裝包并解壓
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz tar -zxvf apache-maven-3.5.2-bin.tar.gz sudo mv apache-maven-3.5.2 /usr/local/maven
2) 配置環(huán)境變量
sudo vi /etc/profile
加入下列內(nèi)容:
export M2_HOME=/usr/local/maven export M2=$M2_HOME/bin export PATH=$M2:$PATH
執(zhí)行配置文件,讓配置立即生效:
source /etc/profile
3) 修改maven國內(nèi)鏡像
為了加快maven構(gòu)建速度,添加國內(nèi)的鏡像服務(wù)器
①將/home/josiah/apache-maven-3.5.2/conf/settings.xml文件,復(fù)制到~/.m2目錄下:
cp /home/josiah/apache-maven-3.5.2/conf/settings.xml ~/.m2
②將下列內(nèi)容添加到mirrors節(jié)點下:
sudo vi /home/josiah/apache-maven-3.5.2/conf/settings.xml
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror>
③驗證是否安裝成功
mvn -version
5.安裝Mongodb
由于我的博客項目需要用到Mongodb來存儲圖片,所以需要安裝Mongodb,安裝步驟可在另一篇博客中查看。
6.安裝gradle
1) 在http://www.gradle.org/downloads頁面,下載最新版的gradle壓縮包,并上傳到云服務(wù)器中
2) 將其解壓在/usr/local目錄下
sudo unzip gradle-4.6-bin.zip sudo mv gradle-4.6 /usr/local/gradle
3) 設(shè)置環(huán)境變量
sudo vi /etc/profile
增加下列內(nèi)容:
export GRADLE_HOME=/usr/local/gradle export PATH=$GRADLE_HOME/bin:$PATH
執(zhí)行配置文件,讓其立即生效:
source /etc/profile
4) 驗證是否成功
gradle -version
三、打包項目及圖片服務(wù)器
1. 本地使用Maven打包MyBlog項目,生成可執(zhí)行的jar文件
1) 修改MyBlog項目中的pom.xml文件,將下列內(nèi)容添加到mirrors節(jié)點下
<!--maven打包--> <build> <defaultGoal>compile</defaultGoal> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> <fork>true</fork><!-- 如果沒有該項配置,可能devtools不會起作用 --> </configuration> </plugin> </plugins> </build>
2) 進(jìn)入項目根目錄,即與pom.xml同級的目錄,使用mvn package進(jìn)行打包
cd MyBlog mvn package
這時在target/文件夾下就會生成一個.jar文件,執(zhí)行java -jar jar包名即可啟動項目
java -jar blog-0.0.1-SNAPSHOT.jar
3) 將打包好的jar文件上傳到云服務(wù)器中
4) 注意:這里我第一次打包好后啟動項目時發(fā)現(xiàn)某些頁面無法訪問,提示模板解析失敗,找不到頁面
后來查資料發(fā)現(xiàn),打包后再運行的話,Controller類里返回的路徑前不能加"/",如下面這種情況,要去掉路徑前的“/”:
2.打包圖片服務(wù)器項目
我的博客中用到了github上一個開源的小型圖片服務(wù)器,spring boot + Mongodb寫的,要將其打包并上傳到云服務(wù)器中。
該項目使用的gradle工具構(gòu)建的。
1) 修改項目中的build.gradle文件,加入下列語句:
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
2) 使用下面的命令進(jìn)行打包
gradle build
3) 此時build/libs目錄下就會生成一個jar文件,執(zhí)行啟動即可
cd build/libs/ java -jar mongodb-file-server-1.0.0.jar
4) 將打包好的jar文件上傳到云服務(wù)器上
scp -P 22 /home/josiah/java/mongodb-file-server/build/libs/mongodb-file-server-1.0.0.jar josiah@47.94.154.205:/home/josiah
四、正式開始部署博客
到底之前部署博客的準(zhǔn)備工作都已經(jīng)結(jié)束了,接下來開始部署啟動項目即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JAVA實現(xiàn)按時間段查詢數(shù)據(jù)操作
這篇文章主要介紹了JAVA實現(xiàn)按時間段查詢數(shù)據(jù)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Java?C++題解leetcode902最大為N的數(shù)字組合數(shù)位DP
這篇文章主要為大家介紹了Java?C++題解leetcode902最大為N的數(shù)字組合數(shù)位DP,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Spring中的@RestControllerAdvice注解使用方法解析
這篇文章主要介紹了Spring中的@RestControllerAdvice注解使用方法解析,@RestControllerAdvice是Controller的增強(qiáng) 常用于全局異常的捕獲處理 和請求參數(shù)的增強(qiáng),需要的朋友可以參考下2024-01-01使用Java實現(xiàn)簡單搭建內(nèi)網(wǎng)穿透
內(nèi)網(wǎng)穿透是一種網(wǎng)絡(luò)技術(shù),適用于需要遠(yuǎn)程訪問本地部署服務(wù)的場景,本文主要為大家介紹了如何使用Java實現(xiàn)簡單搭建內(nèi)網(wǎng)穿透,感興趣的可以了解下2024-02-02java 輸入3個數(shù)a,b,c,按大小順序輸出的實例講解
今天小編就為大家分享一篇java 輸入3個數(shù)a,b,c,按大小順序輸出的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07