Linux雲服務部署Spring boot專案

xbhog發表於2021-09-01

Linux雲服務部署Spring boot專案

背景:

之前經過兩個周的時間,做了一個簡單的部落格網站,網址:點選進入,在本地可以正常使用以後,想著部署到伺服器上,給大傢伙看個樂呵,於是有了這篇部署文章。

簡單介紹一下部落格內容:

  1. 仿照小而美搭建的,前端模板也採用小而美實現。
  2. 技術點:springBoot+thymeleaf+mysql+Mybatis-plus(混合xml實現的)

該部落格不會維護,作用是梳理前面的學習過的知識,增加記憶點。

話不多說,開始吧!

環境搭建:

為了不讓專案產生版本相容問題,統一使用的專案的版本安裝。

包名 版本號
maven 3.6.3
jdk 9
mysql 最新版本(有坑)

所需要的工具:

  1. Xshell(Linux連線)
  2. Xftp(檔案傳輸)
  3. navicat(資料庫連線)
  4. Linux(雲伺服器) 新使用者9塊一個月。

這裡就沒有用雲mysql.

部署過程:

專案打包:

  1. clear
  2. package

image-20210828162448130

打包成功的樣例:

image-20210828162911980

上傳到雲伺服器:

可以介面化上傳的軟體很多,自行選擇。(個人:Xftp軟體)

image-20210828163210619

image-20210828163358866

看圖說話,如果之前有朋友部署過,應該很清楚,接下來解釋下:

我分了兩個包:

  1. javapro 放置jdk和系統的檔案
  2. 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安裝上沒什麼問題,只是在許可權認證上需要補充一下:

  1. 之前一直用mysql5版本進行遠端授權登入,但是換mysql8.0原來的授權方式報錯
  2. 版本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;

image-20210828171045262

啟動專案:

java -jar jar包名(Blog-0.0.1-SNAPSHOT.jar)

image-20210828171314016

後臺執行:

nohup java -jar jar包名(Blog-0.0.1-SNAPSHOT.jar)

參考:

MySQL8問題

結束:

如果你看到這裡或者正好對你有所幫助,希望能點個?或者⭐感謝;

有錯誤的地方,歡迎在評論指出,作者看到會進行修改。

相關文章