• 使用宝塔部署项目


    一、在centos服务器上安装宝塔

    • 1、宝塔官方地址

    • 2、在官网上选择在centos上安装的方式

      yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
      
      • 1
    • 3、复制地址打开宝塔面板
      在这里插入图片描述

    • 4、登录进去修改登录账号和密码

    二、安装软件及环境配置

    • 1、在宝塔面板的软件商城上安装mysql8redisnginx软件

    • 2、创建数据库并且可以远程访问,方便同步数据到上面,后期可以关闭远程访问功能

    • 3、服务器上安装go参考地址

    • 4、服务器上安装ffmpeg,参考文档

    三、测试go代码是否正常

    • 1、安装依赖包

      go mod tidy
      
      • 1
    • 2、运行代码

      go run main.go
      
      • 1
    • 3、上面正常的话,执行打包操作

      go build main.go
      
      • 1

    四、宝塔上启动go程序

    • 1、创建部署项目

      在这里插入图片描述

    • 2、启动go程序

      在这里插入图片描述

    • 3、查询端口是否启动,或者直接查看端口netstat -tulnp | grep 9000

      在这里插入图片描述

    五、在nginx中配置前端项目和后端反向代理

    • 1、查看nginx的配置文件所在位置
      在这里插入图片描述

    • 2、点击项目配置nginx代理

      在这里插入图片描述

    • 3、配置文件如下

      server {
        listen 80;
        server_name localhost;
        # index index.html index.htm default.htm default.html;
        # root /www/wwwroot/server;
        set_real_ip_from 0.0.0.0/0;
        real_ip_header X-Forwarded-For;
      
        #禁止访问的文件或目录
        location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md|package.json|package-lock.json|\.env) {
            return 404;
        }
      
        #禁止在证书验证目录放入敏感文件
        if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
            return 403;
        }
        # h5文件目录
        location / {
          #root   /usr/share/nginx/html;
          root /home/h5/dist;
          index  index.html index.htm;
        }
        location @router {
          rewrite ^.*$ /index.html last; # 关键一句 
        }
        # cms前端项目
        location /cms{
          alias /home/admin-web/dist;
          index index.html index.htm;
          try_files $uri $uri/ @router;
        } 
        # m3u8跨域处理
        location /uploads/video {
      	  types {
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
      	  }
          root /home/gin-video-api/public;
          add_header Cache-Control no-cache;
          add_header Access-Control-Allow-Origin *;
        }
      
        # 后端代码代理
      	location ^~ /api/v1 {
          add_header Access-Control-Allow-Origin *;
          add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
          add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_pass http://localhost:9000;
        }
      
        # HTTP反向代理相关配置结束
      
        access_log  /www/wwwlogs/gin_video_api.log;
        error_log  /www/wwwlogs/gin_video_api.error.log;
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49
      • 50
      • 51
      • 52
      • 53
      • 54
      • 55
      • 56
      • 57
      • 58
      • 59
    • 5、查看目录下是否添加一个nginx的配置文件/www/server/panel/vhost/nginx目录下会多一个文件

    • 6、在进入项目的位置创建几个文件夹

      mkdir -p public/upload/video
      mkdir logs
      
      • 1
      • 2
    • 7、将前端的代码放到对应的目录下,使用postman自测接口

    六、配置node项目

    • 1、服务器上拉取代码

    • 2、配置项目

      在这里插入图片描述

  • 相关阅读:
    Python类的定义和使用:什么是类?实在不知道啥叫累!
    浅聊古代————汉朝
    abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之下(六十四)
    java计算机毕业设计基于springboot电商项目(附源码讲解)
    在Spring中我们为什么要使用构造器的方式进行依赖注入?
    氧化铁载苯乙烯和甲基丙烯酸P(St-MAA)磁性微球/PS微球载纳米铁降解硝基苯的研究制备
    西门子smart200,1200,1500,300,400全系列的PLC与巨控GRM530实现远程上下载程序
    Kotlin高仿微信-第33篇-支付-充值
    深入思考JAVA虚拟机,实现从0到1的突破
    python数据分析之Pandas库(一)
  • 原文地址:https://blog.csdn.net/kuangshp128/article/details/133490886