1.前端
在web目录下执行 npm run build 得到 dist文件夹 将dist文件夹上传到服务器 建议使用nginx进行代理 并且设置 proxy 把请求代理到后端
location /api {
proxy_set_header Host $http_host;
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 后端地址; # 设置代理服务器的协议和地址
}
2.后端
配置好config.yaml文件里的项目服务端口(eg: system:addr:8082),然后在 server下 go build . 得到一个可执行文件然后将可执行文件和config.yaml 以及 resource 文件夹上传至服务器 三者最好放在同一路径下,打包具体操作如下:
1).首先打开cmd窗口,cd到项目主文件main.go所在目录
2)、设置 linux 编译配置:
SET GOOS=linux
SET GOARCH=amd64
3)、打包(此时会打包成Linux上可运行的二进制文件,不带后缀名的文件)
go build
3.宝塔部署go项目
1)新建go项目
2)配置域名
3)配置伪静态(作用设置 proxy 把请求代理到后端)
4)修改nginx配置文件的,并删除nginx配置文件的 location / {},如下
删除内容
location / {
proxy_pass http://127.0.0.1:8082;
proxy_set_header Host 127.0.0.1:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
proxy_set_header X-Host $host:$server_port;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
5)申请ssl证书,启动项目即可