首页 > 其他分享 >gin-vue-admin部署

gin-vue-admin部署

时间:2024-01-22 15:12:35浏览次数:36  
标签:opt vue tar admin gz -- go gin

前言

gin-vue-admin 是什么

  • gin-vue-admin 是一个基于 Gin 和 Vue.js 的全栈前后端分离框架。它提供了一套完整的开发工具和模板,用于快速搭建企业级 Web 应用程序。
  • gin-vue-admin 后端使用 Go 语言和 Gin 框架实现,前端使用 Vue.js 和 Element UI 组件库,通过 RESTful API 进行通信。它支持 RBAC(基于角色的访问控制)、JWT(JSON Web Token)身份验证、文件上传、Excel 导入导出等功能,可以快速构建起一个功能强大的管理后台系统。

gin-vue-admin 的特点

  • 前后端分离:前端使用 Vue.js 和 Element UI 组件库,后端使用 Go 语言和 Gin 框架,通过 RESTful API 进行通信。
  • 快速开发:提供了一整套完整的开发工具和模板,帮助开发者快速构建应用程序。
  • 强大的功能:支持 RBAC、JWT 身份验证、文件上传、Excel 导入导出等功能,满足各种需求。
  • 易于部署:使用 Docker 容器化部署,方便快捷。

正文

参考文档
https://www.gin-vue-admin.com/guide/start-quickly/env.html

网络检查

关闭防火墙

# 检查防火墙是否开启
systemctl status firewalld.service
# 停掉防火墙
systemctl stop firewalld.service
# 禁止防火墙开机自启
systemctl disable firewalld.service
# 再次检查防火墙

禁用 SELinux

获取 SELinux (Security-Enhanced Linux)的执行模式: getenforce

  • Enforcing(强制):表示 SELinux 正在执行并强制安全策略。
  • Permissive(宽容):表示 SELinux 已经启用,但只会记录违反安全策略的操作而不会强制执行。
  • Disabled(禁用):表示 SELinux 已被完全禁用。

若不是Disabled模式,修改/etc/selinux/config,将SELINUX=enforcing修改为SELINUX=disabledreboot 重启主机生效。

前端环境准备

  • node 版本需大于 16.4
  • 开发工具推荐vscode https://code.visualstudio.com/

下载node.js

wget https://nodejs.org/download/release/v16.20.0/node-v16.20.0-linux-x64.tar.gz

解压

tar -zxvf node-v16.20.0-linux-x64.tar.gz -C /opt
cd /opt/
mv node-v16.20.0-linux-x64 node

下载VSCode

wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/8b3775030ed1a69b13e4f4c628c612102e30a681/code-stable-x64-1705560028.tar.gz

启动

不建议以超级用户身份启动Visual Studio代码。但是,如果由于某些特定原因需要将其作为超级用户启动,则可以添加--no-sandbox标志,并使用--user-data-dir标志指定备用用户数据目录。

tar -zxvf code-stable-x64-1705560028.tar.gz -C /opt/
cd /opt/VSCode-linux-x64/bin
./code --no-sandbox --user-data-dir=/opt/VSCode-linux-x64/data

--

后端环境准备

下载golang

wget https://golang.google.cn/dl/go1.21.5.linux-amd64.tar.gz

解压golang

tar -zxvf go1.21.5.linux-amd64.tar.gz -C /opt/

下载Goland

wget https://download.jetbrains.com.cn/go/goland-2023.3.2.tar.gz

启动Goland

tar -zxvf goland-2023.3.2.tar.gz -C /opt/
cd /opt/GoLand-2023.3.2/bin/
sh goland.sh

如果还没有注册账号,可以选择试用
image

image

配置环境变量

vi /etc/profile

添加以下环境变量

export GO_HOME=/opt/go
export NODE_HOME=/opt/node
export PATH=$NODE_HOME/bin:$GO_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules

加载环境变量使生效

source /etc/profile

检查node安装结果:

命令行运行go env若控制台输出版本号 则安装成功 并确认版本大于16.4

检查golang安装结果:

命令行运行go env若控制台输出环境变量 则安装成功 输入go version确认版本大于1.18

--

gva主版本下载以及初始化

下载代码

cd /opt/
git clone https://github.com/flipped-aurora/gin-vue-admin.git

初始化

Goland打开server文件夹
image style="zoom:50%;"

修改go env配置信息

go env | grep GO111MODULE
go env -w GO111MODULE=on

go env | grep GOPROXY
go env -w GOPROXY="https://proxy.golang.org,direct"

使用 go mod 并安装go依赖包

go mod tidy

编译

go build -o server main.go

# (windows编译命令为 go build -o server.exe main.go)

启动后端服务

./server

# (windows运行命令为 server.exe)
web端初始化

使用 vscode 打开 web 项目
image

安装依赖

npm install

启动web项目

npm run serve

使用docker部署

打包成docker镜像

cd /root
tar --numeric-owner --exclude=/proc --exclude=/root/Downloads --exclude=/root/go --exclude=/root/operation --exclude=/root/CentOS7* --exclude=/sys --exclude=/proc -zcvpf CentOS7-GinVueImage.tar.gz /

导入到docker,生成image

docker import CentOS7-GinVueImage.tar.gz

给gin-vue-admin镜像创建一个新的标签

docker images
docker tag 005d72d63784 gva:2.5.9

运行一个容器

docker run  -itd  -p 8088:8080 -p 8888:8888 --privileged=true --name gva --restart always gva:2.5.9 /bin/bash

扩展

表单生成器页面报错,提示:127.0.0.1拒绝连接

处理方式:

cd /opt/gin-vue-admin/web/src/view/systemTools/formCreate
vi index.vue

修改以下配置:
image style="zoom:67%;"
修改为:
image style="zoom:67%;"

重启服务 !!!

代码生成器

--

标签:opt,vue,tar,admin,gz,--,go,gin
From: https://www.cnblogs.com/HJ-study/p/17979485

相关文章

  • nginx
    记录使用nginx调试遇到的问题在Azure的UbuntuVM上,安装一个nginx,搭建一个网络,提供https访问,设置证书,自动刷新证书,安装docker,同时docker中运行一个网站。总结遇到的坑。申请证书安装Certbot跟Nginx插件sudoapt-getupdatesudoapt-getinstallsoftware-prop......
  • Ubuntu下安装Vue
    参考来源https://www.cnblogs.com/architectforest/p/14913505.htmlhttps://blog.csdn.net/haonan_z/article/details/122608063一、下载NodeNodejs官网手动安装最新的LTS版本选择版本进行下载,下载后解压缩使用命令或者界面操作均可安装Nodejs移动到软件安装目录li......
  • npm ERR! code 1 npm ERR! path E:\20231213\vue-element-admin\node_modules\nod
    执行npminstall报错,根据下面报错信息可知,是由于nodejs和node-sass版本不一致造成的,也就是当前项目比较旧,而我安装的nodejs比较新。PSE:\20231213\vue-element-admin>PSE:\20231213\vue-element-admin>PSE:\20231213\vue-element-admin>PSE:\20231213\vue-element-adm......
  • Toyota Programming Contest 2024#1(AtCoder Beginner Contest 337)
    ToyotaProgrammingContest2024#1(AtCoderBeginnerContest337)A-Scoreboard代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<ll,ll>;#definefifirst#definesesecondusingi128=__int128_t;void......
  • 比Nginx更好用的Gateway!
    比Nginx更好用的Gateway!Token新开源Gateway,使用yarp实现的一个反向代理,支持界面操作动态添加集群添加路由绑定,并且支持动态添加域名绑定https证书,超强yarp+FreeSql+MiniApis纯原生接口实现。功能亮点在线配置域名证书:实时生效,无需重启服务。集群和路由的在线配置:动态添加和修......
  • vue3中Fragment特性的一个bug,需要留意的注意事项
    vue3中的Fragment模版碎片特性是什么,简单的理解就是template模板代码不在像vue2中那样必须在根节点在包裹一层节点了。vue2写法<template><div><h1>标题</h1><p>正文内容</p></div></template>vue3写法<template><h1>标题</h1>......
  • Google-SoftwareEngineering: Abseil CPP Library + Tensorflow Cpp codebase
    Abseil:https://abseil.io/about/design/swisstablesIntroductiontoAbseilWelcometoAbseil!Abseilisanopen-sourcecollectionofC++code(complianttoC++14)designedtoaugmenttheC++standardlibrary.ThisdocumentintroducesAbseilandprovidesa......
  • 玛珍,玛珍,margin!
    最近在整理巩固面试相关的资料,又看到了熟悉的老朋友:margin,当时觉得其读起来很亲切,现在又发现很多遗忘的知识点。了解marginmargin,译为“外边缘”,在CSS作为属性定义元素周围的空间,从以下盒模型中能更好的理解margin。属性描述margin简写属性。在一个声明中设置所有外......
  • 使用Gin框架往数据库插入记录
    首先往数据库插入数据,就需要连接数据库(笔者此处使用的是PostgreSQL)因此在项目中引入如下依赖(这两个依赖版本号不一致,可能会出现异常)gorm.io/driver/postgres  //依赖是用于连接和操作PostgreSQL数据库gorm.io/gorm  //对象关系映射(ORM)库,简化Golang程序与数据库......
  • AtCoder Beginner Contest 337
    基本情况ABC秒了,D数组在空间复杂度上面第一次疯狂吃亏,吃了两次罚时过。赛后看官方题解,发现C做法薄纱我。C-LiningUp2https://atcoder.jp/contests/abc337/tasks/abc337_c这题一眼链表,我用双向链表实现,代码石山。官方题解就题论题,更本质。其实这题并没必要开双向链......