5.1 KiB
5.1 KiB
梦工厂编译部署文档
梦工厂外网测试服
- DB 服务:119.3.105.109 账号:root 密码:l2qMQigN4xOA MongoDB 和 Rides 的地址
- MongoDB 账号:root 密码:iamciniao
- Rides 密码:kujqweiasd
- 程序运行服:119.3.89.14 账号:root 密码:l2qMQigN4xOA
编译项目代码
- 拉取 git 仓库代码:git clone http://git.legu.cc/liwei_3d/go_dreamfactory.git
- 进入 go_dreamfactory 目录 执行:go mod tidy (需要安装 golang 版本 go1.18.2 以上环境:https://www.jianshu.com/p/35a161738d83)
- 进入 go_dreamfactory/bin 目录下,执行 bulid_linux.sh 脚本 编译执行文件
- 拷贝 bin 目录作为发布文件
安装部署依赖环境
- 安装 MongoDB 教程 https://segmentfault.com/a/1190000039268500
- 安装版本
- 安装 Redis 教程
- 安装 Consul https://blog.csdn.net/jeikerxiao/article/details/78114413
- 安装 NetCore SDK6 版本 https://learn.microsoft.com/en-us/dotnet/core/install/linux-centos
修改配置文件
- 进入发布文件(bin 目录) 下 conf 目录
- 修改配置文件中 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" #梦工厂数据库名
- 修改区服 id
tag : "dreamfactory_liwei" #服务集群标签 在梦工厂中作为区服id 同区服内的服务可以互相通信,不同区服的不能互相通信
- 配置跨服服务器 此配置只在 gateway 服务器上
gateway:
Debug: true
SpanServiceTag: "dreamfactory_span" #服务服务集群
ListenPort: 7891
- 配置多个 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冲突 日志文件存放地址
部署梦工厂服务
- 将修改完毕的发布文件(bin 目录)考本到目标主机服务器上,选择适合目录保存
- 进入发布文件 执行 ./start.sh 脚本 正常执行
[root@master bin]# ./start.sh
starting mainte...
start success
starting worker_1...
start success
starting gateway_1...
start success
- 程序启动后会自动生成 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】
- 是同网页工具以及客户端 测试服务是否正常
- 网页工具 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