mayfly-go部署

 

docker部署
docker部署需要先执行项目依赖的数据库脚本(mayfly-go.sql
1拉取mayfly-go镜像,版本号可查看二进制发行版本[以下内容以v1.5.2演示]。 https://gitee.com/objs/mayfly-go/releases

docker pull ccr.ccs.tencentyun.com/mayfly/mayfly-go:v1.5.2

通过-v挂载项目启动运行相关文件目录等

目录&文件
说明
/mayfly/config.yml
配置文件,需配置数据库等信息。内容查看(config.yml
/mayfly/mayfly-go.log
项目运行日志
/mayfly/rec
终端回放文件目录
/mayfly
工作目录(可直接挂载该目录 注:需要将config.yml复制到挂载文件夹下)

 

# 直接挂载容器工作目录(注:需要将config.yml复制到/usr/local/mayfly-go文件夹下))
docker run -d --name mayfly-go -v /usr/local/mayfly-go:/mayfly -p 18888:18888  ccr.ccs.tencentyun.com/mayfly/mayfly-go:{version(替换为对应版本号)}

 

通过-e容器环境变量设置启动依赖相关参数

环境变量名称
说明
MAYFLY_DB_HOST
数据库地址端口(对应mysql.host)
MAYFLY_DB_NAME
数据库名称(对应mysql.db-name
MAYFLY_DB_USER
数据库用户名(对应mysql.username)
MAYFLY_DB_PASS
数据库密码(对应mysql.password)
MAYFLY_AES_KEY
用于AES加密使用的秘钥(对应aes.key)
MAYFLY_JWT_KEY
成jwt使用的签名key(对应jwt.key)

 

# 通过-e容器环境变量设置启动依赖相关参数
docker run -d --name mayfly-go -p 18888:18888 \
	-e MAYFLY_JWT_KEY=53445c86e8189b6c646ed7d0d319015144423e72 \
	-e MAYFLY_AES_KEY=7bc5418eefd50402ef39107274891fbe \
	-e MAYFLY_DB_HOST=localhost:3306 \
	-e MAYFLY_DB_USER=root \
	-e MAYFLY_DB_PASS=123456 \
	-e MAYFLY_DB_NAME=mayfly-go \
	-v /usr/local/mayfly-go/mayfly-go.log:/mayfly/mayfly-go.log \
	-v /usr/local/mayfly-go/rec:/mayfly/rec  ccr.ccs.tencentyun.com/mayfly/mayfly-go:{version(替换为对应版本号)}

 

docker-compose部署

参照 docker-compose.yaml自行构建部署。

 

config.yml(项目启动依赖的配置文件)

config.yml
server:
  # debug release test
  model: release
  port: 18888
  cors: true
  tls:
    enable: false
    key-file: ./default.key
    cert-file: ./default.pem
  # 机器终端操作回放文件存储路径
  machine-rec-path: ./rec
jwt:
  # jwt key,不设置默认使用随机字符串
  key: 
  # 过期时间单位分钟
  expire-time: 1440
# 资源密码aes加密key
aes:
  key: 1111111111111111
mysql:
  host: localhost:3306
  username: root
  password: 111049
  db-name: mayfly-go
  config: charset=utf8&loc=Local&parseTime=true
  max-idle-conns: 5
log:
   # 日志等级, debug, info, warn, error
  level: info
  # 日志格式类型, text/json
  type: text
  # 是否记录方法调用栈信息
  add-source: false
  # file:
  #   path: ./
  #   name: mayfly-go.log

nginx转发配置信息

nginx.conf
upstream mayfly-go {   
    server 172.17.0.1:18888;
}
server {
    keepalive_requests 120; #单连接请求上限次数。
    listen       80;   #监听端口
    server_name  xxx.net;   #监听地址 
    proxy_set_header X-Real_IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;   #需要配置支持websocket
    proxy_set_header Connection 'upgrade';    #需要配置支持websocket
    
    location  / {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
        proxy_pass  http://mayfly-go;  #请求转向mayfly-go 定义的服务器列表    
    } 
}

 

 

 

 

阅读剩余
THE END