Gin部署环境-Linux
准备工作
针对服务器Linux操作系统进行部署,必装以下应用程序并确保正常运行。
SDK | 说明 | 版本 |
---|---|---|
Nginx | 优秀代理服务器 | 1.20+ |
Golang | go项目的运行环境 | 1.20+ |
Redis | 缓存存储程序 | 6+ |
Mysql | 数据存储程序 | 8+ |
使用国内源可以加速下载依赖库
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
后端服务
建议在开发环境下对 src\config\config.prod.yaml
文件修改对应的服务器上能正常访问的服务配置。
/home/user/mask_api_gin
作为后端接口目录,将以下文件内容上传到服务器目录
mask_api_gin
├── assets 目录-程序内部静态资源文件
├── src 目录-源代码
├── go.mod 文件-程序模块依赖
├── go.sum
├── Dockerfile 文件-Docker编译文件
└── main.go 文件-程序主入口
进入后端接口目录,安装项目所需依赖,通过以下命令进行打包构建生成平台可执行文件随后启动项目。
# 下载项目所需依赖
go mod download
# 构建项目可执行文件,默认输出与目录名称相同的文件
go build -ldflags="-s -w"
# 启动时指定生产模式配置
./xxx --env prod
# 常驻后台运行
nohup ./xxx --env prod ->xxx.log &
前端页面
/usr/share/nginx/html/mask-ui
作为前端页面目录
在开发环境下检查 .env.development
文件内配置参数 VITE_HISTORY_BASE_URL 改为 /mask-ui 保存修改后通过 npm run build
命令打包生成dist文件夹。
将dist文件夹内容上传到服务器目录,注意 VITE_API_BASE_URL 是页面请求的服务地址。
mask-ui
├── assets 目录-资源文件
├── favicon.ico 文件-网站图标
├── index.html 文件-主页
└── index.html.gz 文件-主页gzip压缩
安装 Nginx
好后,你需要修改 Nginx
配置文件以对页面进行访问,配置文件添加配置内容如下:
conf文件行尾序列LF,不要用Tab退格,要用空格哦,不然会显示500哦
# 部署路径下mask-ui目录
location /mask-ui {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
# 代理后端接口服务
location /prod-api/ {
proxy_pass http://127.0.0.1:6275/;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
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_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
开启Gzip,建议在 nginx.conf
文件中开启。
#开启gzip功能
gzip on;
#开启gzip静态压缩功能
gzip_static on;
#gzip缓存大小
gzip_buffers 4 16k;
#gzip http版本
gzip_http_version 1.0;
#gzip 压缩级别 1-10
gzip_comp_level 5;
#gzip 压缩类型
gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
修改配置文件后对 Nginx
停止或结束进程PID后在启动,以免遇到修改不生效的情况。
如遇到无法解决的问题,可以在下方进行留言,会在第一时间进行解答。