go_dreamfactory/bin/编译部署文档.md
2023-09-14 10:06:51 +08:00

5.1 KiB
Raw Permalink Blame History

梦工厂编译部署文档

梦工厂外网测试服

  1. DB 服务:119.3.105.109 账号:root 密码:l2qMQigN4xOA MongoDB 和 Rides 的地址
  • MongoDB 账号:root 密码:iamciniao
  • Rides 密码:kujqweiasd
  1. 程序运行服:119.3.89.14 账号:root 密码:l2qMQigN4xOA

编译项目代码

  1. 拉取 git 仓库代码:git clone http://git.legu.cc/liwei_3d/go_dreamfactory.git
  2. 进入 go_dreamfactory 目录 执行:go mod tidy (需要安装 golang 版本 go1.18.2 以上环境:https://www.jianshu.com/p/35a161738d83)
  3. 进入 go_dreamfactory/bin 目录下,执行 bulid_linux.sh 脚本 编译执行文件
  4. 拷贝 bin 目录作为发布文件

安装部署依赖环境

  1. 安装 MongoDB 教程 https://segmentfault.com/a/1190000039268500
  • 安装版本
  1. 安装 Redis 教程
  2. 安装 Consul https://blog.csdn.net/jeikerxiao/article/details/78114413
  3. 安装 NetCore SDK6 版本 https://learn.microsoft.com/en-us/dotnet/core/install/linux-centos

修改配置文件

  1. 进入发布文件(bin 目录) 下 conf 目录
  2. 修改配置文件中 MongoDB,Redis,Consul 相关配置
  rpcx:   #rpcx 系统配置
    Debug: true
    AutoConnect: true                   #自动连接到集群服务节点
    RpcxStartType: 1                    #0 服务端 1是客户端
    ConsulServers: ["10.0.0.9:8500"]    #Consul 服务地址
  cache:      #缓存系统
    Redis_IsCluster: false   #是否是集群
    Redis_Addr: ["10.0.0.9:6986"]       #Redis 服务地址
    Redis_Password: "li13451234"        #Redis 服务密码
    Redis_DB: 6                         #Redis 数据存储db
  db:      #存储系统
    MongodbUrl: "mongodb://10.0.0.9:27019"  #Mongodb服务地址
    MongodbDatabase: "dreamfactory"         #梦工厂数据库名
  1. 修改区服 id
    tag : "dreamfactory_liwei"   #服务集群标签 在梦工厂中作为区服id 同区服内的服务可以互相通信,不同区服的不能互相通信
  1. 配置跨服服务器 此配置只在 gateway 服务器上
  gateway:
    Debug: true
    SpanServiceTag: "dreamfactory_span"    #服务服务集群
    ListenPort: 7891
  1. 配置多个 worker 服务
  • 配置多个 worker 只需要拷贝 worker_1.yaml 文件到 worker_2.yaml 文件
  • 修改 worker_2.yaml 下配置文件中
   id: "worker_1"  #修改worker_1 到worker_2,  服务的唯一id 在同一集群下唯一即可
   ip: "127.0.0.1" #运行主机Ip    保证同集群下服务可以通过此ip互相访问
   port: 9569      #rpc通信端口   不被占用即可

   log: #日志系统
       FileName: "./log/worker_1.log" #修改日志文件地址 以免和其他worker冲突   日志文件存放地址

部署梦工厂服务

  1. 将修改完毕的发布文件(bin 目录)考本到目标主机服务器上,选择适合目录保存
  2. 进入发布文件 执行 ./start.sh 脚本 正常执行
    [root@master bin]# ./start.sh
    starting mainte...
    start success
    starting worker_1...
    start success
    starting gateway_1...
    start success
  1. 程序启动后会自动生成 log 目录,进入 log 目录 查看各个服务文件启动日志是否正常 ,每个服务会对应一个日志文件 日志文件名在 服务配置中有配置,正常启动
2022/07/22 11:45:56.681	INFO	rpcx/service.go:80	Sys log Init success !
2022/07/22 11:45:56.682	INFO	rpcx/service.go:86	Sys event Init success !
2022/07/22 11:45:56.682	INFO	rpcx/service.go:92	Sys codec Init success !
2022/07/22 11:45:56.682	INFO	rpcx/service.go:98	Sys rpcx Init success !
2022/07/22 11:45:56.682	INFO	services/servicebase.go:24	init sys.configure success!
2022/07/22 11:45:56.682	INFO	cbase/servicebase.go:66	服务[gateway_1] 初始化完成!
2022/07/22 11:45:56.682	INFO	cbase/servicebase.go:89	服务[gateway_1:1.0.0.0] 启动完成!
2022/07/22 11:45:56.682	INFO	cbase/servicebase.go:109	注册模块【gateway】

  1. 是同网页工具以及客户端 测试服务是否正常
  2. 网页工具 http://ip:prot/#/protocol/index 修改页面中服务器连接地址 点击连接,测试 user.login 协议

外网服务器地址

  • ip:119.3.89.14
  • user:root
  • password:l2qMQigN4xOA

df01 区服 (暂时不动)

  • 目录:/home/go/bin
  • 关闭命令:
    • ./cmd stop -g ./conf/gm02.json
    • ./cmd stop -g ./conf/gm01.json
  • 启动命令:
    • ./cmd start -g ./conf/gm01.json
    • ./cmd start -g ./conf/gm02.json

df02 区服

  • 目录:/home/liwei/bin
  • 关闭命令:
    • ./cmd stop -g ./conf/gm02.json
    • ./cmd stop -g ./conf/gm01.json
  • 启动命令:
    • ./cmd start -g ./conf/gm01.json
    • ./cmd start -g ./conf/gm02.json

PS 解决redis 并发下断联重启问题 需要做以下设置 参考 https://www.cnblogs.com/to-be-rich/p/7818618.html

1.redis设置的tcp连接数受限于系统默认限制128个因此必须要先调整内核的连接数 echo 511 > /proc/sys/net/core/somaxconn overcommit_memory参数设置为0在内存不足的情况下后台程序save可能失败 "vm.overcommit_memory=1" > /etc/sysctl.conf