Gin-Vue-Admin 线上部署

简介: Gin-Vue-Admin 线上部署

前言


在网上找的很多教程包括官方的都不够细致,很容易导致出现问题,所以特记录下部署的过程

官方部署文档:部署教学 | Gin-Vue-Admin

准备


前端


配置文件修改


修改前端目录下的.env.production文件

  • VUE_APP_SERVER_PORT:根据自己后端项目运行端口设置,我这里使用了8806
  • VUE_APP_BASE_PATH:官方设置为了线上ip,经测试设置为本地回环地址也没问题(最好根据官方,我先踩坑)
  • VUE_APP_BASE_API:根据nginx设置的代理到后端项目的名称设置,我这里保持不变
  • 其他参数不需要理
ENV = 'production'
VUE_APP_CLI_PORT = 8080
VUE_APP_SERVER_PORT = 8806
VUE_APP_BASE_API = /api
#下方修改为你的线上ip
VUE_APP_BASE_PATH = http://127.0.0.1

项目编译


前端项目gva-project/web下运行npm run build命令执行编译

image.png

编译成功后会生成gva-project/web/dist目录

image.png

后端


端口修改


后端由于我线上使用了8806端口,所以需要修改config.yaml文件,将system.addr参数设置为8806

image.png

后端编译


如果本地是windows环境,需要使用交叉编译,我是直接在Linux上编译的,在后端项目目录gva-project/server下运行go build main.go命令执行编译,编译成功会生成main可执行文件

image.png

部署


根据文档部署后端需要可执行文件、config.yaml配置文件以及resource目录三者,前端只需要编译好的dist目录就行。这里演示我就暂时不新建目录去放以上文件了,直接在gva-project项目下演示,实际使用建议按照官方单独出来。

后端运行


后端项目的部署和运行可以参考这篇文章:Golang 项目部署

Nginx配置


前端设置


配置文件中网站根目录root设置为前端编译后的文件目录/.../gva-project/web/dist(绝对路径)

image.png

后端代理设置


  • 设置代理到后端项目,代理名称注意与前端.env.production文件设置的VUE_APP_BASE_API参数一致,并且代理的替换规则中名称也要与此相同,如图中红圈所示
  • 代理地址就是后端运行的地址端口,因此地址为:http://127.0.0.1:8806,如图中黄框所示
  • image.png

附上配置


server
{
    listen 80;
    server_name gva-test.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /.../gva-project/web/dist;
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #SSL-END
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-73.conf;
    #PHP-INFO-END
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/gva-test.com.conf;
    #REWRITE-END
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
    }    
    location /api {   
        #host修改为真实的域名和端口
        proxy_set_header   Host             $http_host;
        #客户真实ip
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        #客户端真实协议
        proxy_set_header   X-Forwarded-Proto  $scheme;
        rewrite ^/api/(.*)$ /$1 break;
        proxy_pass  http://127.0.0.1:8806;   #设置代理服务器的协义和地址
    }
    access_log  /www/wwwlogs/gva-test.com.log;
    error_log  /www/wwwlogs/gva-test.com.error.log;
}

运行测试


上一步配置完nginx后,重载配置后便可以访问项目了

9122dbe28b5e4e918ac35599328a158d.png


目录
相关文章
|
存储 前端开发
Gin-Vue-Admin 前后端获取用户信息方式
Gin-Vue-Admin 前后端获取用户信息方式
740 0
Gin-Vue-Admin 前后端获取用户信息方式
|
应用服务中间件 数据安全/隐私保护 nginx
Gitlab----使用Docker方式安装部署Gitlab
Gitlab----使用Docker方式安装部署Gitlab
14689 1
Gitlab----使用Docker方式安装部署Gitlab
|
2月前
|
Web App开发 前端开发 Java
Java + EasyExcel 实现单个接口导出多个Excel
Java + EasyExcel 单接口导出多个 Excel 文件实操教程,基于 Spring Boot 实现,通过 ZIP 打包多 Excel 流返回,附完整代码、避坑注意事项,新手也能快速落地,解决多 Excel 一次性导出需求。
291 2
|
10月前
|
人工智能 Shell PHP
Cursor使用指南
Cursor是一款AI编程助手,能够帮助开发者自动生成代码、优化项目结构,并提供智能建议。它支持多模型,如Claude、GPT等,可提升编程效率。通过个性化设置与技巧,如精确需求描述、代码注释、版本控制等,开发者能够更高效地完成项目。
|
12月前
|
人工智能 API 定位技术
MCP全方位扫盲
MCP(Model Context Protocol)是由Anthropic提出的协议,旨在标准化大模型与外部数据源和工具的通信方式。其核心架构包括MCP Client(客户端)和MCP Server(服务端),通过标准化接口实现解耦,支持不同LLM无缝调用工具。相比传统方法,MCP简化了Prompt工程,减少定制代码,提升复用性。实际场景中,如天气查询或支付处理,MCP可智能调用对应工具,优化用户体验。MCP的核心价值在于标准化通信、统一工具描述及动态兼容性,成为大模型与外部服务的智能桥梁。
|
Linux 测试技术 编译器
在go程序中的交叉编译
【7月更文挑战第9天】本文介绍Go 交叉编译允许在一种平台上构建适用于多平台的二进制文件。`go build -cover`用于覆盖率分析,`-coverpkg`控制分析的包范围,生成的二进制文件运行后,覆盖率数据会写入`GOCOVERDIR`指定的目录。
770 14
在go程序中的交叉编译
|
Go
Golang语言基础之接口(interface)及类型断言
这篇文章是关于Go语言中接口(interface)及类型断言的详细教程,涵盖了接口的概念、定义、实现、使用注意事项以及类型断言的多种场景和方法。
607 4
|
10月前
|
人工智能 搜索推荐 数据挖掘
抖音电商API直播间弹幕互动,用户参与度翻倍!
在数字化电商时代,抖音电商API助力商家提升直播互动。通过实时弹幕处理、智能回复与数据分析,实现用户参与度翻倍,增强粘性、提升转化。本文详解API集成步骤与实战应用,助您打造高效直播间。
1347 0

热门文章

最新文章