1. 程式人生 > >Docker環境下的前後端分離項目部署與運維(二)後端項目下載與配置

Docker環境下的前後端分離項目部署與運維(二)後端項目下載與配置

win http 圖片 cal jar文件 項目源碼 結果 ces 找到

後端項目下載與配置

部署我們采用的是Linux、Docker虛擬機,我們不需要在Linux上再次去建立一個編譯的環境。

這個編譯的環境只需要在Windows上去完成就可以了,在Windows系統上將代碼編譯出來,拷貝到Linux上進行部署。

本節我們將在Windows上部署和配置編譯環境,首先來了解一下這個人人網後端開源項目使用了哪些技術。

人人網開源項目名稱叫“renren-fast”,這個項目采用了目前最為流行的SpringBoot構建出來的,具體所用的框架如下所示:

技術分享圖片

主要包含了:SSM框架、SpringBoot、權限管理用到的Shiro、高速緩存用到的Redis、後臺API的調試用到的Swagger、保存、認證和授權信息用到的JWT

Swagger

Swagger是一個後臺API調試的技術,在前後端分離的後端項目裏,往往需要開放一些網絡調用的接口,支持的是Http協議的調用,在測試這些接口傳入的參數返回的結果的時候,用的就是專有的測試客戶端Swagger技術。

技術分享圖片

JWT

一個單體的後端項目應該向著微服務的架構去演進。

在微服務架構裏,假設有A和B兩個後端項目,這兩個後端項目完成的業務是不一樣的。

比如說有一個用戶需要在A這個後端項目上去完成一些操作,正常登陸然後完成這個操作以後,下一個操作可能會在B這個後端項目上繼續完成。

在訪問B這個後端項目的時候不需要我們重新登陸,只要在任何一個微服務節點上登陸成功以後,正常訪問其他微服務節點是不需要登錄的,這個就叫做單點登錄功能。

在傳統的Session裏保存用戶認證授權信息的時候,這個Session和某一個項目是綁定在一起的,這個Session是不能在AB兩個後端項目裏共享的,這樣子對我們的微服務是無法實現單點登錄的。

JWT技術不在Session中保存認證授權信息,而是將這個信息保存在瀏覽器客戶端上,客戶端訪問A後端項目就將這個認證信息發過來,訪問B這個後端項目就將認證信息再發過來一次。

後端項目認證一下發過來的信息沒問題的話就認為是登錄成功了,這就是JWT技術,對於微服務架構特別重要。

Maven環境配置

Apache Maven是一套軟件工程管理和整合工具

借助於Maven和項目裏的pom.xml文件就可以把這個工程構建出來

技術分享圖片

首先下載Maven

Maven官網

下載完成後找到bin目錄,並復制目錄地址,並自行在環境變量中配置好

更改Maven鏡像源為阿裏雲:

<mirror>  
      <id>alimaven</id>  
      <name>aliyun maven</name>  
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
      <mirrorOf>central</mirrorOf>          
</mirror>  

在eclipse中配置Maven

技術分享圖片

後端項目源碼下載及導入

我這裏下載的是以前的版本:https://gitee.com/renrenio/renren-fast/tree/6c0dccf4d0ab0a01800242d1c809ca882afc10e7/

技術分享圖片

解壓縮然後導入eclipse即可。過程中Maven會下載jar文件。

技術分享圖片

技術分享圖片

然後請自行導入項目的數據庫,過程就不再演示了。

技術分享圖片

修改數據庫連接信息,連接信息在src/main/resources下的application-dev.yml中修改即可。

技術分享圖片

修改端口為8080

技術分享圖片

運行

技術分享圖片

訪問:http://localhost:8080/renren-fast/swagger/index.html

技術分享圖片

測試登錄

技術分享圖片

Docker環境下的前後端分離項目部署與運維(二)後端項目下載與配置