gfast 环境部署

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

项目配置文件

在项目根目录 ​./config/config.toml​ 修改必要配置如下:

数据库连接

[database]
    link  = "mysql:root:123456@tcp(localhost:3306)/gfast-v2-open"
    charset   = "utf8mb4" #数据库编码
    debug = true
    dryRun = false #空跑
    maxIdle      = "10" #连接池最大闲置的连接数
    maxOpen     = "10" #连接池最大打开的连接数
    maxLifetime  = "30" #(单位秒)连接对象可重复使用的时间长度
    # Database logger.
    [database.logger]
        Path   = "./data/log/gf-app/sql"
        Level  = "all"
        Stdout = true

web服务器配置

[server]
    Address     = ":8200"
    ServerRoot  = "./public/resource"
    ServerAgent = "gfast-app"
    LogPath     = "./data/log/gf-app/server"
    logStdout           = true               # 日志是否输出到终端。默认为true
    errorStack          = true               # 当Server捕获到异常时是否记录堆栈信息到日志中。默认为true
    errorLogPattern     = "error-{Ymd}.log"  # 异常错误日志文件格式。默认为"error-{Ymd}.log"
    accessLogPattern    = "access-{Ymd}.log" # 访问日志文件格式。默认为"access-{Ymd}.log"
    DumpRouterMap    = true
    NameToUriType = 3
    maxHeaderBytes    = "20KB"
    clientMaxBodySize = "200MB"
    accessLogEnabled    = true              # 是否记录访问日志。默认为false
    errorLogEnabled     = true               # 是否记录异常日志信息到日志中。默认为true
    PProfEnabled     = true                 # 是否开启PProf性能调试特性。默认为false

ServerRoot用来设置Server的主目录(类似nginx中的root配置,默认为空)

Server默认情况下是没有任何主目录的设置,只有设置了主目录,才支持对应主目录下的静态文件的访问。

ClientMaxBodySize发送请求最大长度 如果需要上传大文件可以适当改大。

gToken配置

[gToken]
    [gToken.system]
        CacheMode = 2
        CacheKey = "GToken:"
        Timeout = 3600000 #1个小时
        MaxRefresh = 0
        TokenDelimiter="_"
        EncryptKey = "koi29a83idakguqjq29asd9asd8a7jhq"
        AuthFailMsg = "登录超时,请重新登录"
        MultiLogin = true  #后台是否允许多端同时在线

其中​CacheMode是​gToken存储模式,1为直接存储在内存中,2为使用redis存储 。

注意:如果存储在内存中则每次服务重启都会清空token数据,也就是用户登录数据会丢失,需要重新登录。

后台相关配置

[system]
    notCheckAuthAdminIds = [1,2,31]  #无需验证后台权限的用户id(超级管理员)

redis配置

# Redis数据库配置
[redis]
    open = true #是否开启 redis 缓存 若不开启使用gchache缓存方式
    default = "127.0.0.1:6379,9?idleTimeout=600"

前端准备工作

node支持版本请使用 v12.x 或 v14.x

若要使用node v16以上请将修改node-sass 和 sass-loader 为以下版本

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

下载前端项目

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

切换到2.0分支

git checkout os-v2

进入项目目录

​cd gfast-ui​

安装依赖

npm install

强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。

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

本地开发 启动项目

npm run dev

打开浏览器,输入:http://localhost:80 (默认账户 demo/123456)

若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功。

前端部署

当项目开发完毕,只需要运行一行命令就可以打包你的应用

打包正式环境

npm run build:prod

打包预发布环境

npm run build:stage

构建打包成功之后,会在根目录生成 dist 文件夹,里面就是构建打包好的文件,通常是 .js 、.css、index.html 等静态文件。

通常情况下 dist 文件夹的静态文件发布到你的 nginx 或者静态服务器即可,其中的 index.html 是后台服务的入口页面。

部署时改变页面js 和 css 静态引入路径 ,只需修改 vue.config.js 文件资源路径即可。

publicPath: './' //请根据自己路径来配置更改

环境变量

所有测试环境或者正式环境变量的配置都在 .env.development等 .env.xxxx文件中。

它们都会通过 webpack.DefinePlugin 插件注入到全局。

环境变量必须以​VUE_APP_​为开头。如:​VUE_APP_API​、​VUE_APP_TITLE

你在代码中可以通过如下方式获取:

console.log(process.env.VUE_APP_xxxx)


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号