從零部署Spring boot項目到雲服務器(準備工作)
自己的博客終於成功部署上線了,回過頭來總結記錄一下整個項目的部署過程!
測試地址:47.94.154.205:8084
註:文末有福利!
一、Linux下應用Shell通過SSH連接雲服務器
//ssh 用戶名@公網IP ssh josiah@ip // 輸入密碼
二、開始搭建SpringBoot的運行環境
1.安裝JDK並配置環境變量
1) 打開JDK官網 www.oracle.com
2) 找面最新對應的JDK版本,下載
這裏要註意的一個問題是:雲服務器下載JDK時一定要在本地去oracle官網去下載後再上傳到雲服務器上,不能直接通過wget的方式下載,因為下載JDK時要勾選同意它的協議,直接用wget下載鏈接的話默認不會同意協議,下載的結果就會是一個.html文件,就無法解壓安裝了。
將壓縮包上傳到雲服務器的命令為:
scp -P 22 /home/josiah/Downloads/jdk-9.0.4_Linux_x64_bin.tar.gz josiah@ip:/home/josiah
3) 將下載好的壓縮包解壓到指定目錄
sudo mkdir Java tar -zxvf jdk-9.0.5.....tar.gz -C ./Java
4) 配置JDK環境變量
①添加系統環境變量:
sudo vi /etc/environment
加入下列內容:
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
執行配置文件,即讓配置文件立即生效
source /etc/environment
②添加用戶環境變量
sudo vi /etc/profile
加入下列內容:
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
同樣執行配置文件,讓配置文件立即生效:
source /etc/profile③驗證JDK是否安裝成功
java -version
2.安裝Mysql
參考鏈接:
https://www.linuxidc.com/Linux/2017-10/147460.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) 配置環境變量
sudo vi /etc/profile
加入下列內容:
export M2_HOME=/usr/local/maven export M2=$M2_HOME/bin export PATH=$M2:$PATH
執行配置文件,讓配置立即生效:
source /etc/profile
3) 修改maven國內鏡像
為了加快maven構建速度,添加國內的鏡像服務器
①將/home/josiah/apache-maven-3.5.2/conf/settings.xml文件,復制到~/.m2目錄下:
cp /home/josiah/apache-maven-3.5.2/conf/settings.xml ~/.m2
②將下列內容添加到mirrors節點下:
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壓縮包,並上傳到雲服務器中
scp -P 22 /home/josiah/Downloads/gradle-4.6-bin.zip josiah@ip:/home/josiah
2) 將其解壓在/usr/local目錄下
sudo unzip gradle-4.6-bin.zip sudo mv gradle-4.6 /usr/local/gradle
3) 設置環境變量
sudo vi /etc/profile
增加下列內容:
export GRADLE_HOME=/usr/local/gradle
export PATH=$GRADLE_HOME/bin:$PATH
執行配置文件,讓其立即生效:
source /etc/profile
4) 驗證是否成功
gradle -version
三、打包項目及圖片服務器
1. 本地使用Maven打包MyBlog項目,生成可執行的jar文件
1) 修改MyBlog項目中的pom.xml文件,將下列內容添加到mirrors節點下
<!--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) 進入項目根目錄,即與pom.xml同級的目錄,使用mvn package進行打包
cd MyBlog
mvn package
這時在target/文件夾下就會生成一個.jar文件,執行java -jar jar包名即可啟動項目
java -jar blog-0.0.1-SNAPSHOT.jar
3) 將打包好的jar文件上傳到雲服務器中
scp -P 22 /home/josiah/blog-0.0.1-SNAPSHOT.jar josiah@ip:/home/josiah
4) 註意:這裏我第一次打包好後啟動項目時發現某些頁面無法訪問,提示模板解析失敗,找不到頁面
後來查資料發現,打包後再運行的話,Controller類裏返回的路徑前不能加"/",如下面這種情況,要去掉路徑前的“/”:
2.打包圖片服務器項目
我的博客中用到了github上一個開源的小型圖片服務器,spring boot + Mongodb寫的,要將其打包並上傳到雲服務器中。
該項目使用的gradle工具構建的。
1) 修改項目中的build.gradle文件,加入下列語句:
tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
2) 使用下面的命令進行打包
gradle build
3) 此時build/libs目錄下就會生成一個jar文件,執行啟動即可
cd build/libs/ java -jar mongodb-file-server-1.0.0.jar
4) 將打包好的jar文件上傳到雲服務器上
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
四、正式開始部署博客
到底之前部署博客的準備工作都已經結束了,接下來開始部署啟動項目即可。
最後,給大家推薦一個良心公眾號【IT資源社】:
本公眾號致力於免費分享全網最優秀的視頻資源,學習資料,面試經驗等,前端,PHP,JAVA,算法,Python,大數據等等,你想要的這都有
IT資源社-QQ交流群:601357554
微信搜索公眾號:ITziyuanshe 或者掃描下方二維碼直接關註,
裏面基本什麽資料都有,基礎到進階到項目實戰,如果覺得不夠還可以加群跟群主要,最重要的是全部免費!
從零部署Spring boot項目到雲服務器(準備工作)