Linux雲服務部署Spring boot專案
背景:
之前經過兩個周的時間,做了一個簡單的部落格網站,網址:點選進入,在本地可以正常使用以後,想著部署到伺服器上,給大傢伙看個樂呵,於是有了這篇部署文章。
簡單介紹一下部落格內容:
- 仿照小而美搭建的,前端模板也採用小而美實現。
- 技術點:springBoot+thymeleaf+mysql+Mybatis-plus(混合xml實現的)
該部落格不會維護,作用是梳理前面的學習過的知識,增加記憶點。
話不多說,開始吧!
環境搭建:
為了不讓專案產生版本相容問題,統一使用的專案的版本安裝。
包名 | 版本號 |
---|---|
maven | 3.6.3 |
jdk | 9 |
mysql | 最新版本(有坑) |
所需要的工具:
- Xshell(Linux連線)
- Xftp(檔案傳輸)
- navicat(資料庫連線)
- Linux(雲伺服器) 新使用者9塊一個月。
這裡就沒有用雲mysql.
部署過程:
專案打包:
- clear
- package
打包成功的樣例:
上傳到雲伺服器:
可以介面化上傳的軟體很多,自行選擇。(個人:Xftp軟體)
看圖說話,如果之前有朋友部署過,應該很清楚,接下來解釋下:
我分了兩個包:
- javapro 放置jdk和系統的檔案
- mvn 放置maven安裝包
可以隨時修改配置檔案,使得專案生效。
解壓命令:
tar -zxvf 包名
配置jdk以及maven環境:
進入jdk資料夾:
cd jdk-9.0.4/
root@iZuf67gh3nsadi0q4sg7ulZ:~/javapro/jdk-9.0.4# pwd
/root/javapro/jdk-9.0.4
同操作:
cd apache-maven-3.6.3/
root@iZuf67gh3nsadi0q4sg7ulZ:~/mvn/apache-maven-3.6.3# pwd
/root/mvn/apache-maven-3.6.3
記住當前路徑,輸入:
vi /etc/profile
如下:
export JAVA_HOME=/root/javapro/jdk-9.0.4 ## 後面是目錄的路徑和軟體連結 ,根據實際情況來寫
export PATH=.:$JAVA_HOME/bin:$PATH
#mvn
export PATH=$PATH:/root/mvn/apache-maven-3.6.3/bin
仿照上面格式,填入自己的路徑。
退出後,載入一下:
source /etc/profile
最後驗證:
java -version
mvn -version
如下:
mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /root/mvn/apache-maven-3.6.3
Java version: 9.0.4, vendor: Oracle Corporation, runtime: /root/javapro/jdk-9.0.4
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-47-generic", arch: "amd64", family: "unix"
--------------------------------------------------------------------------------
java -version
java version "9.0.4"
Java(TM) SE Runtime Environment (build 9.0.4+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.4+11, mixed mode)
root@iZuf67gh3nsadi0q4sg7ulZ:~/mvn/apache-maven-3.6.3#
安裝MySQL實現遠端訪問:
之前MySQL的安裝其實也寫過,但是沒想到折磨也在這裡折磨的。
首先線上安裝mysql,自己使用官網的安裝包,下載到linux中解壓報錯,原來以為是包下錯了,但是在網上找到的教程,還是沒有解決,所以實現線上安裝的。
如果有知道我這種錯誤的朋友,可以評論交流下。
這是我之前的寫的線上安裝的文章:連結
這裡針對文章中的做一個補充和修改,該文章在MySQL安裝上沒什麼問題,只是在許可權認證上需要補充一下:
- 之前一直用mysql5版本進行遠端授權登入,但是換mysql8.0原來的授權方式報錯
- 版本5可以使用原來的文章進行配置,但是MySQL8不行,不能授權給自己了。
MySQL8許可權驗證解決方式:新增一個使用者,遠端連線到該使用者上。
<br>mysql> create user 'xbhog'@'%' identified by 'xbhog';
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql>
mysql> GRANT ALL PRIVILEGES ON *.* TO 'xbhog'@'%';
Query OK, 0 rows affected (0.04 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> ALTER USER 'xbhog'@'%' IDENTIFIED WITH mysql_native_password BY '對應自己的密碼';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
使用Navicat連線需要更改下加密方式:
如果用Navicat連線的回報不支援caching_sha2_password驗證方式的錯誤。
將遠端訪問使用者的驗證方式改為: msyql_native_password
執行:
ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
啟動專案:
java -jar jar包名(Blog-0.0.1-SNAPSHOT.jar)
後臺執行:
nohup java -jar jar包名(Blog-0.0.1-SNAPSHOT.jar)
參考:
結束:
如果你看到這裡或者正好對你有所幫助,希望能點個?或者⭐感謝;
有錯誤的地方,歡迎在評論指出,作者看到會進行修改。