Linux雲服務部署Spring boot項目

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/
[email protected]:~/javapro/jdk-9.0.4#  pwd
/root/javapro/jdk-9.0.4

同操作:

cd apache-maven-3.6.3/
[email protected]:~/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)
[email protected]:~/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問題

結束:

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

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