预研需求
因项目需求,需要使用即时通讯, 争对openIM做了下部署与测试工作。
搭建环境
操作系统:centos7
CPU:Intel® Xeon® Gold 6240 CPU @ 2.60GHz 2核
内存:8G
存储:100G
准备工作
1.安装golang环境
wget -c https://dl.google.com/go/go1.17.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local | ln -s /usr/local/go/bin/go /usr/bin/go
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
2.安装docker&安装docker-compose
参考教程:https://zhuanlan.zhihu.com/p/567544721
3.安装git
centos可使用yum直接安装
yum install -y git
操作步骤
1、clone项目
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive;
2、进入项目,修改.env文件
USER=root #不用修改
PASSWORD=openIM2023 #建议修改复杂密码 不能包括 @#之类特殊符号 且至少要8位,仅对redis mysql mongo三个组件密码生效
ENDPOINT=http://127.0.0.1:10005 #使用minio发图片视频文件需要填写 外网ip:10005或者用域名storage.xx.xx
DATA_DIR=./ #指定大磁盘目录
3、修改后可直接运行脚本,安装openIM-server
chmod +x install_im_server.sh;
./install_im_server.sh;
安装完成后,可运行检查服务脚本,来检测服务是否都已成功启动。当出现all services launch success后,表示服务启动成功。其中搭建openIM服务端需要依赖ETCD、kafka、mysql、redis、mongo等。
接口测试
可直接使用postman测试服务接口
示例:
测试用户注册接口:http://ip:10002/auth/user_register【POST方法】
参数示例:
{
"birth": 0, //integer 生日 可为0
"email": "", //string 邮箱,最长64 可为空
"ex": "", //string 扩展字段,最长1024 可为空
"faceURL": "", //string 头像链接,最长1024 可为空
"gender": 2, //integer 性别,0 表示未知,1 表示男,2 女表示女,其它会报参数错误
"nickname": "夏天", //string 昵称
"operationID": "40288ad88779f30e01877dbf8d4608e0", //唯一值,方便跟踪问题。这里使用了uuid
"phoneNumber": "", //string 电话号码 可为空
"platform": 7, //integer 平台代码
"secret": "xxxxx", //string 密钥,在config.yaml中设置的。secret值
"userID": "xxx123456" //string 用户ID,唯一值,类似微信号
}
返回如下,表示注册成功:
若返回errCode为400,贼表示参数存在问题。
2、openIM-server的swagger指路
https://doc.rentsoft.cn:8000/swagger/index.html#/第三方服务相关/MinioUploadFile