Gin-Vue-Admin 线上部署

32 篇文章 0 订阅
17 篇文章 0 订阅

前言

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

官方部署文档:部署教学 | 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命令执行编译

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

后端

端口修改

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

后端编译

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

部署

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

后端运行

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

Nginx配置 

前端设置

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

后端代理设置

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

附上配置

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后,重载配置后便可以访问项目了

gin-admin-api是一个基于Gin框架开发的后台管理系统的API接口。Gin框架是一个轻量级的、高性能的Go语言框架,具有路由和中间件的功能,适合用于构建Web应用程序。 gin-admin-api提供了一套完善的API接口,用于实现后台管理系统的各种功能,例如用户管理、角色管理、权限管理、菜单管理、日志管理等。通过这些接口,可以方便地进行用户的注册、登录和认证,管理用户的角色和权限,管理系统的菜单和日志信息。 gin-admin-api的优点之一是高性能。由于采用了Gin框架,它具有快速的路由匹配和中间件处理的能力,能够处理大量的请求,并在高并发的情况下保持稳定性和可靠性。 另一个优点是易于扩展和定制。gin-admin-api使用了模块化的设计,各个功能模块之间松耦合,可以根据实际需求进行灵活的扩展和定制。例如,可以根据业务需求添加新的功能模块,或者修改和优化已有的模块。 此外,gin-admin-api还提供了友好的文档和示例代码,方便开发者理解和使用。它的源代码也是开源的,可以在GitHub上找到,这样可以方便地进行二次开发和定制,满足特定的业务需求。 总之,gin-admin-api是一个功能丰富、高性能、易扩展的后台管理系统API接口,大大简化了后台管理系统的开发工作,帮助开发者快速构建稳定、可靠的后台管理系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值