gfast 環(huán)境部署

2022-03-25 15:49 更新

下載框架

git clone https://github.com/tiger1103/gfast.git

切換到2.0分支

git checkout os-v2

安裝依賴

?go mod download? 或 ?go mod tidy?

項(xiàng)目配置文件

在項(xiàng)目根目錄 ?./config/config.toml? 修改必要配置如下:

數(shù)據(jù)庫(kù)連接

[database]
    link  = "mysql:root:123456@tcp(localhost:3306)/gfast-v2-open"
    charset   = "utf8mb4" #數(shù)據(jù)庫(kù)編碼
    debug = true
    dryRun = false #空跑
    maxIdle      = "10" #連接池最大閑置的連接數(shù)
    maxOpen     = "10" #連接池最大打開(kāi)的連接數(shù)
    maxLifetime  = "30" #(單位秒)連接對(duì)象可重復(fù)使用的時(shí)間長(zhǎng)度
    # Database logger.
    [database.logger]
        Path   = "./data/log/gf-app/sql"
        Level  = "all"
        Stdout = true

web服務(wù)器配置

[server]
    Address     = ":8200"
    ServerRoot  = "./public/resource"
    ServerAgent = "gfast-app"
    LogPath     = "./data/log/gf-app/server"
    logStdout           = true               # 日志是否輸出到終端。默認(rèn)為true
    errorStack          = true               # 當(dāng)Server捕獲到異常時(shí)是否記錄堆棧信息到日志中。默認(rèn)為true
    errorLogPattern     = "error-{Ymd}.log"  # 異常錯(cuò)誤日志文件格式。默認(rèn)為"error-{Ymd}.log"
    accessLogPattern    = "access-{Ymd}.log" # 訪問(wèn)日志文件格式。默認(rèn)為"access-{Ymd}.log"
    DumpRouterMap    = true
    NameToUriType = 3
    maxHeaderBytes    = "20KB"
    clientMaxBodySize = "200MB"
    accessLogEnabled    = true              # 是否記錄訪問(wèn)日志。默認(rèn)為false
    errorLogEnabled     = true               # 是否記錄異常日志信息到日志中。默認(rèn)為true
    PProfEnabled     = true                 # 是否開(kāi)啟PProf性能調(diào)試特性。默認(rèn)為false

?ServerRoot用來(lái)設(shè)置Server的主目錄(類似nginx中的root配置,默認(rèn)為空)

?Server默認(rèn)情況下是沒(méi)有任何主目錄的設(shè)置,只有設(shè)置了主目錄,才支持對(duì)應(yīng)主目錄下的靜態(tài)文件的訪問(wèn)。

?ClientMaxBodySize發(fā)送請(qǐng)求最大長(zhǎng)度 如果需要上傳大文件可以適當(dāng)改大。

gToken配置

[gToken]
    [gToken.system]
        CacheMode = 2
        CacheKey = "GToken:"
        Timeout = 3600000 #1個(gè)小時(shí)
        MaxRefresh = 0
        TokenDelimiter="_"
        EncryptKey = "koi29a83idakguqjq29asd9asd8a7jhq"
        AuthFailMsg = "登錄超時(shí),請(qǐng)重新登錄"
        MultiLogin = true  #后臺(tái)是否允許多端同時(shí)在線

其中?CacheMode是?gToken存儲(chǔ)模式,1為直接存儲(chǔ)在內(nèi)存中,2為使用redis存儲(chǔ) 。

注意:如果存儲(chǔ)在內(nèi)存中則每次服務(wù)重啟都會(huì)清空token數(shù)據(jù),也就是用戶登錄數(shù)據(jù)會(huì)丟失,需要重新登錄。

后臺(tái)相關(guān)配置

[system]
    notCheckAuthAdminIds = [1,2,31]  #無(wú)需驗(yàn)證后臺(tái)權(quán)限的用戶id(超級(jí)管理員)

redis配置

# Redis數(shù)據(jù)庫(kù)配置
[redis]
    open = true #是否開(kāi)啟 redis 緩存 若不開(kāi)啟使用gchache緩存方式
    default = "127.0.0.1:6379,9?idleTimeout=600"

前端準(zhǔn)備工作

node支持版本請(qǐng)使用 v12.x 或 v14.x

若要使用node v16以上請(qǐng)將修改node-sass 和 sass-loader 為以下版本

    "node-sass": "^6.0.1",
    "sass-loader": "^10.0.1",

下載前端項(xiàng)目

git clone https://github.com/tiger1103/gfast-ui.git

切換到2.0分支

git checkout os-v2

進(jìn)入項(xiàng)目目錄

?cd gfast-ui?

安裝依賴

npm install

強(qiáng)烈建議不要用直接使用 cnpm 安裝,會(huì)有各種詭異的 bug,可以通過(guò)重新指定 registry 來(lái)解決 npm 安裝速度慢的問(wèn)題。

npm install --registry=https://registry.npm.taobao.org

本地開(kāi)發(fā) 啟動(dòng)項(xiàng)目

npm run dev

打開(kāi)瀏覽器,輸入:http://localhost:80 (默認(rèn)賬戶 demo/123456)

若能正確展示登錄頁(yè)面,并能成功登錄,菜單及頁(yè)面展示正常,則表明環(huán)境搭建成功。

前端部署

當(dāng)項(xiàng)目開(kāi)發(fā)完畢,只需要運(yùn)行一行命令就可以打包你的應(yīng)用

打包正式環(huán)境

npm run build:prod

打包預(yù)發(fā)布環(huán)境

npm run build:stage

構(gòu)建打包成功之后,會(huì)在根目錄生成 dist 文件夾,里面就是構(gòu)建打包好的文件,通常是 .js 、.css、index.html 等靜態(tài)文件。

通常情況下 dist 文件夾的靜態(tài)文件發(fā)布到你的 nginx 或者靜態(tài)服務(wù)器即可,其中的 index.html 是后臺(tái)服務(wù)的入口頁(yè)面。

部署時(shí)改變頁(yè)面js 和 css 靜態(tài)引入路徑 ,只需修改 vue.config.js 文件資源路徑即可。

publicPath: './' //請(qǐng)根據(jù)自己路徑來(lái)配置更改

環(huán)境變量

所有測(cè)試環(huán)境或者正式環(huán)境變量的配置都在 .env.development等 .env.xxxx文件中。

它們都會(huì)通過(guò) webpack.DefinePlugin 插件注入到全局。

環(huán)境變量必須以?VUE_APP_?為開(kāi)頭。如:?VUE_APP_API?、?VUE_APP_TITLE ?

你在代碼中可以通過(guò)如下方式獲取:

console.log(process.env.VUE_APP_xxxx)


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)