whicinth-Steganography-bd
风信——语言永远都有弊端,永远表达不完一半
简介
服务部署
一、本地开发
配置文件
配置文件说明:参考/pkg/viper/config.go
- 在
/conf
目录下创建dev.config.yaml
根据default.config.yaml
完成配置
- 修改
.env
文件RUN_ENV = DEV
- 启动项目会自动注入
.env
中的环境变量并读取dev.config.yaml
中的配置
部署流程
Go >= 1.19
- git clone & cd
- go mod tidy
- make build&run
二、线上部署
配置文件
配置文件说明:参考/pkg/viper/config.go
- 在
/conf
目录下创建prod.config.yaml
根据default.config.yaml
完成配置
- 修改
.env
文件RUN_ENV = PROD
- 启动项目会自动注入
.env
中的环境变量并读取prod.config.yaml
中的配置
部署流程
Linux 生产环境
- 下载golang安装包并上传至Linux: https://studygolang.com/dl
- 安装golang1.19
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.2.linux-amd64.tar.gz
- 设置go env
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
- 上传项目至服务器, 安装go.mod依赖
go mod tidy
- 构建二进制文件&后台启动服务
make build
make start
终止服务
make stop # 找到 ./whicinth-steganography-bd 进程PID并将其kill
重启服务
make restart
服务升级
停止服务:make stop
上传本地项目至生产环境
更新依赖:go mod tidy
构建二进制文件:make build
启动项目:make start
日志收集
使用make start
启动项目会将日志输出至项目本地根目录output
,有日志分片需求可创建cronjob每天00:00执行make restart
,服务会在60s的优雅退出时间后彻底断开长链接
- 服务启动日志:
output/start_YYYY-mm-dd.txt
- 服务运行日志:
output/run_YYYY-mm-dd.txt
性能分析
系统内置了pprof帮助完成性能分析,启动服务器后访问路由/admin/pprof
查看当前项目的采样信息,注意生产环境下不要将该路由暴露给用户,建议配置Nginx将该路由return403