1. 程式人生 > >一文搞定Spring Boot + Vue 專案在Linux Mysql環境的部署(強烈建議收藏)

一文搞定Spring Boot + Vue 專案在Linux Mysql環境的部署(強烈建議收藏)

本文介紹Spring Boot、Vue 、Vue Element編寫的專案,在Linux下的部署,系統採用Mysql資料庫。按照本文進行專案部署,不迷路。

1. 前言

典型的軟體開發,經過“需求分析”,“概要設計”,“詳細設計”,“開發及單元測試”,“前後端聯調”,“生產環境上線”。到了釋出到生產環節的環節,緊張的神經,終於可以鬆一口氣了!!!

且慢,部署也是很重要的一環,稍有不慎就會“前功盡棄”。

開發中,每個人的開發環境、工具可能都不同。目前大部分人用Windows(Win 10)開發,部分用Mac系統開發,還有極少數用Linux系統開發。但,為了執行的穩定,開發的系統大部分都部署在Linux平臺。本文采用Centos 7部署Spring Boot專案,並介紹前後端專案的打包和部署。

2. 部署過程說明

1)開發環境說明

本著一切為了“開發效率”,在專案開發的時候:

後端採用了IntelliJ IDEA作為Spring Boot的開發工具(其實用Eclipse也是Ok的),用了典型“controller、service、dao三層架構”;

前端採用Vs Code作為Vue及Vue Element的開發工具,用webpack進行專案打包,“地球人都知道,這裡就不多囉嗦了”;

用Git作為分散式版本控制系統;

Mysql資料;

用mybatis作為持久層框架。

2)Centos 7安裝Jdk,MariaDB

Centos 7作業系統的安裝,略!網上有大量的教程,不再贅述。

  • 安裝Jdk環境

    最簡單的方式,莫過於用yum安裝,一個命令搞定(千萬別告訴我你還在用32位系統):

    yum install java-11-openjdk.x86_64

  • 安裝MariaDB

    [注意] 一般情況下Linux安裝的時候會包含Mysql,這將導致MariaDb安裝不成功。

    首先執行如下命令檢查是否有Mysql:

    rpm -qa | grep mariadb

    如果系統裡面預裝了Mysql,則先解除安裝:

    yum remove mysql mysql-server mysql-libs compat-mysql51

    然後新增源(都2020年了,不會用vi,拿什麼來拯救你):

    vi /etc/yum.repos.d/MariaDB.repo

    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1

    安裝MariaDb:

    yum -y install MariaDB-server MariaDB-client

    啟動MariaDb服務:

    systemctl start mariadb #啟動服務

    加入開機啟動:

    systemctl enable mariadb #設定開機啟動

3)開放防火牆埠

預設情況下,防火牆攔截是不能訪問的,此處我們開放80、22埠:

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=22/tcp --permanent

[注意] 需要重啟防火牆,命令是:

firewall-cmd --reload

檢視是否新增成功,這裡我就不截圖演示了:

firewall-cmd --zone=public --list-ports

4) 前後端打包及部署

忙碌了大半天,準備工作終於做好了。激動人心的時刻終於要來了!!!

  • 前端專案打包

    前端專案採用webpack進行管理,編譯非常簡單,也是一個命令搞定(so easy!!!):

    npm run build

    執行該命令後,會在專案的根資料夾下生產一個dist目錄。

  • 後端專案打包

    將前端專案拷貝到springboot專案的resources的static目錄下,然後執行mvn clean package構建專案,即可生成一個專案的jar檔案,此處檔名為“myproject.jar”(該名稱可以在pom檔案中進行設定)。

  • 資料庫部署

    安裝MariaDb後,預設root使用者是沒有密碼的,此時通過mysql -uroot命令登入到MariaDB,然後通過如下命令修改密碼為654321

      mysql> use mysql; 
      mysql> update user set password=password('654321') where user='root' and host='localhost'; 
      mysql> flush privileges; 

    之後就可以匯入資料庫指令碼了,我是通過Navicat客戶端操作的。當然還有其他的工具,需要經過“大象裝冰箱”三步走:

    新建資料庫,設定編碼utf-8,匯入Sql檔案。

  • 執行並見證奇蹟

    我們通過如下命令執行專案,如未報錯,則可以通過http://ip訪問專案:

    nohup java -jar myproject.jar >log.txt &

3. 本文總結

專案經過辛苦的開發,終於進入上線,試執行。大公司一般會有專門人員負責部署工作,一般的小公司,開發人員要“全棧”。從需求,開發,測試,部署,等等都要負責。

此文不涉及自動化部署,也不談docker等方式部署。

傳統工藝,純手工打造,值得擁有!

本文是個人專案部署的經驗總結,結合了網際網路上眾多成功案例,不敢獨自居功。

如果您閱讀本文後哪怕有一丟丟收穫,請不要吝嗇你手中關注和點讚的權力,謝謝!