网站内容管理系统上传图片( goget安装所需依赖,默认的代理可能顺利安装)

优采云 发布时间: 2021-11-08 09:27

  网站内容管理系统上传图片(

goget安装所需依赖,默认的代理可能顺利安装)

  

  

  Go 版本要求

  本项目使用 go 1.16, beego v2, bee v2。

  go get -u github.com/beego/beego/v2

go get -u github.com/beego/bee/v2

  项目开始

  go get安装需要的依赖,默认代理可能安装不顺利,可以设置国内代理

  linux: go env -w GOPROXY=,direct

  windows:$env:GOPROXY = ""

  如果执行了bee run,如果没有找到bee命令,在系统变量Path中添加%GOBIN%即可执行第三方命令。比如beego会在这个目录下安装bee命令

  > cd metal

> bee run

  生产环境启动*

  ./run.sh 脚本的内容需要你自己写,我的发布流程可能不适合你。

  守护进程

  简单启动后,程序的稳定性很差,任何错误都会导致进程退出。因此,需要一个守护进程来保证程序退出后自动重启。Beego官网提供了一些方法,这里我提供另一种方法。Nodejs 开发人员应该熟悉它。就是大名鼎鼎的pm2。如果你已经安装了pm2,就可以直接使用了。.

  首次启动服务:

  pm2开始金属

  run-by-pm2.sh 是一个写好的脚本文件,用于删除服务器可执行文件,上传新的应用文件,修改执行权限,重启pm2服务。

  ./run-by-pm2.sh

  启动方法和nodejs一样简单。如果你还没有安装pm2,建议使用Supervisord。毕竟安装nodejs也是个技术活。

  交叉编译

  一般的开发环境是windows或者mac,但是服务器是linux。如果直接在服务器上拉取git代码进行编译,可能会出现问题。例如,在开发过程中新引用了第三方包。国内网络环境不方便使用第三方包。这些包在服务器上可能不可用。所以最好在本地打包上传到服务器,然后需要交叉编译(打包成linux应用在window上)

  GOOS=linux GOARCH=amd64 go build

  该命令将生成一个 linux 可执行程序。然后上传到服务器。其实在windows环境下交叉编译生成linux可执行程序后,run和run-by-pm2这两个脚本就可以去掉了,因为交叉编译后的可执行文件上传到服务器就可以直接使用了,并且不需要在服务器上。编译时无需安装golang和依赖。您所需要的只是重新启动服务。

  测试

  进入测试文件所在目录,执行 go test 测试所有测试功能。比如你只需要测试指定的函数

  去测试 -v -run="Redis"

  项目结构说明

  因为这个项目比较简单,所以对项目目录结构没有严格要求。这个项目暂时没有服务层,只是在模型中放了一些逻辑。主要原因是go的model层不像java。Java的模型文件中有。大量的getter和setter方法导致每个模型变得非常大,所以java喜欢对每个文件进行分类。Go的模型比较简单。它只是一个简单的结构体,单独作为一个层是多余的。所以我决定在模型中放入一些函数,直接通过模型调用相关函数。go和java还是有很大区别的。如果还用旧的,那就麻烦了,没味道了。

  权限设计

  基于角色的访问控制 (RBAC) 目前仅使用用户和角色。每个角色可以拥有一个或多个权限,因此分配角色意味着分配权限。例如,删除用户不仅是一种角色,也是一种权限。

  图标库:

  网站 基于beego v2开发,管理后台系统,包括功能:登录、用户管理、权限管理、多线程数据获取、定时任务、爬虫、降价、七牛上传图片

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线