142 lines
5.1 KiB
Markdown
142 lines
5.1 KiB
Markdown
## 梦工厂编译部署文档
|
||
|
||
### 梦工厂外网测试服
|
||
|
||
1. DB 服务:119.3.105.109 账号:root 密码:l2qMQigN4xOA MongoDB 和 Rides 的地址
|
||
|
||
- MongoDB 账号:root 密码:iamciniao
|
||
- Rides 密码:kujqweiasd
|
||
|
||
2. 程序运行服: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
|
||
* 安装版本
|
||
2. 安装 Redis 教程
|
||
- 单节点 https://segmentfault.com/a/1190000023178516
|
||
- 集群:https://blog.csdn.net/jiang1986829/article/details/108667854
|
||
3. 安装 Consul https://blog.csdn.net/jeikerxiao/article/details/78114413
|
||
4. 安装 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" #梦工厂数据库名
|
||
```
|
||
|
||
3. 修改区服 id
|
||
|
||
```
|
||
tag : "dreamfactory_liwei" #服务集群标签 在梦工厂中作为区服id 同区服内的服务可以互相通信,不同区服的不能互相通信
|
||
```
|
||
|
||
4. 配置跨服服务器 此配置只在 gateway 服务器上
|
||
|
||
```
|
||
gateway:
|
||
Debug: true
|
||
SpanServiceTag: "dreamfactory_span" #服务服务集群
|
||
ListenPort: 7891
|
||
```
|
||
|
||
5. 配置多个 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
|
||
```
|
||
|
||
3. 程序启动后会自动生成 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】
|
||
|
||
```
|
||
|
||
4. 是同网页工具以及客户端 测试服务是否正常
|
||
1. 网页工具 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 |