【项目开发】GoFrame+Vue项目部署到阿里云服务器

前言

  • 本来想都用docker部署的,结果学艺实在是不精,只能先这么委曲求全
  • 宝塔页面的反向代理一直无法生效,用了重定向跳转页面
  • 宝塔的网站也可以构建go项目

背景

后端使用GoFrame框架,前端使用Vue 3 + TypeScript + Vite,服务器和域名均使用阿里云服务器。

后端部署

  1. 安装docker
  2. 安装git,设置git config --globalssh公钥,将项目clone到服务器里,这里的目录是:/usr/local/goproject
  3. 设置 Dockerfile,这里直接将该文件放到了项目里。
    其中系统的版本号通过lsb_release -a获得;golang的版本要根据go.mod确定,进入网站更换为对应的链接即可;MYPATH 要更换为对应的项目路径。
FROM centos:7.6.1810
FROM centos:7.6.1810
ENV MYPATH /usr/local/goproject
WORKDIR  $MYPATH
RUN yum -y update \
&& yum -y install vim \
&& yum -y install git \
&& yum install -y gcc-c++ \
&& yum -y install wget \
&& wget -P /root/ https://studygolang.com/dl/golang/go1.15.15.linux-amd64.tar.gz \
&& tar -zxvf /root/go1.15.15.linux-amd64.tar.gz -C /usr/local \
&& echo export PATH=$PATH:/usr/local/go/bin >> /etc/profile \
&& source /etc/profile && go version \
&& echo "source /etc/profile" >> /root/.bashrc \
&& go env -w GOPROXY=https://goproxy.cn,direct \
&& go env -w GO111MODULE=on \
  1. 构建容器docker build -f Dockerfile文件名 -t 镜像名 .。为了方便文件名和镜像名都用的film_test_1
  2. 运行容器
docker run -it -v /usr/local/goproject:/usr/local/goproject -v /etc/localtime:/etc/localtime -p 8080:8000 --cap-add SYS_TIME --name film_test_1  film_test_1 /bin/bash
  1. 进入容器
    docker exec -it film_test_1 /bin/bash
  2. 编译
    go build -o film_test_1 main.go
  3. 运行
    nohup /usr/local/goproject/film_book_go//film_test_1 > start.log 2>&1 &
    项目的日志在start.log里

前端部署

借助宝塔页面进行部署
前提:解析域名并获得SSL证书

  1. 宝塔页面“网站”页面“添加站点”,注意根目录的写法
    【项目开发】GoFrame+Vue项目部署到阿里云服务器_第1张图片
  2. 点击“设置”==“SSL”,加入SSL证书
    【项目开发】GoFrame+Vue项目部署到阿里云服务器_第2张图片
  3. 在前端项目里运行npm run build,打包
  4. 将文件上传到服务器
    【项目开发】GoFrame+Vue项目部署到阿里云服务器_第3张图片
    在前面的根目录下面,文件夹名跟vite.config.tsbase一样
    【项目开发】GoFrame+Vue项目部署到阿里云服务器_第4张图片
  5. 设置反向代理
    用反向代理一直不好使,用重定向实现的
    【项目开发】GoFrame+Vue项目部署到阿里云服务器_第5张图片
    改后遇到了一个错误是原本请求是POST请求,重定向后变成了GET请求,在配置文件里手动将重定向方式改成307
    【项目开发】GoFrame+Vue项目部署到阿里云服务器_第6张图片

参考博客

Docker部署golang项目
vite+vue3项目通过宝塔部署到服务器

你可能感兴趣的:(vue.js,阿里云,服务器)