Skip to content

风信——语言永远都有弊端,永远表达不完一半。基于HTTP框架hertz,提供图片压缩、图片隐写、性能监控等服务

License

Notifications You must be signed in to change notification settings

xhdd123321/whicinth-steganography-bd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

whicinth-Steganography-bd

风信——语言永远都有弊端,永远表达不完一半

简介

image-20221023155103704

服务部署

一、本地开发

配置文件

配置文件说明:参考/pkg/viper/config.go

  1. /conf目录下创建dev.config.yaml根据default.config.yaml完成配置
  2. 修改.env文件RUN_ENV = DEV
  3. 启动项目会自动注入.env中的环境变量并读取dev.config.yaml中的配置

部署流程

Go >= 1.19

  1. git clone & cd
  2. go mod tidy
  3. make build&run

二、线上部署

配置文件

配置文件说明:参考/pkg/viper/config.go

  1. /conf目录下创建prod.config.yaml根据default.config.yaml完成配置
  2. 修改.env文件RUN_ENV = PROD
  3. 启动项目会自动注入.env中的环境变量并读取prod.config.yaml中的配置

部署流程

Linux 生产环境

  1. 下载golang安装包并上传至Linux: https://studygolang.com/dl
  2. 安装golang1.19
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.2.linux-amd64.tar.gz
  1. 设置go env
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
  1. 上传项目至服务器, 安装go.mod依赖
go mod tidy
  1. 构建二进制文件&后台启动服务
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

image-20221022134233379

About

风信——语言永远都有弊端,永远表达不完一半。基于HTTP框架hertz,提供图片压缩、图片隐写、性能监控等服务

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages