OpenIM 源码部署流程

2023-12-15 01:04:32 浏览数 (2)

1.OpenIM 是什么

OpenIM是一个开源的即时通讯组件,包括IM服务端和客户端SDK,实现了高性能、轻量级、易扩展等重要特性。

2.部署组件

Open-IM-Server依赖五大开源组件:Etcd、MySQL、MongoDB、Redis、Kafka(建议使用docker自动部署,详细操作请看步骤3)

提前安装go环境(截至2023/12/14最新版)

代码语言:请在此输入代码块语言 java复制
wget https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz

wget命令安装

代码语言:请在此输入代码块语言 java复制
Ubuntu系统:
apt-get install wget
CentOS系统:
yum install wget

解压

代码语言:请在此输入代码块语言 linux复制
tar -C /usr/local -zxvf go1.21.5.linux-amd64.tar.gz

环境变量

代码语言:请在此输入代码块语言 linux复制
vim /etc/profile

在/etc/profile最后一行添加

代码语言:请在此输入代码块语言 linux复制
Ubuntu系统:
export PATH=$PATH:/usr/local/go/bin
ContOS系统:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

保存退出后source刷新

代码语言:请在此输入代码块语言 linux复制
source /etc/profile

验证

代码语言:请在此输入代码块语言 linux复制
go version

出现版本号代表成功

代码语言:请在此输入代码块语言 linux复制
go version go1.21.5 linux/amd64

2.1 克隆项目

代码语言:请在此输入代码块语言 linux复制
git clone https://github.com/OpenIMSDK/Open-IM-Server.git

很多人可能在这里会出现

fatal: 无法访问 'https://github.com/OpenIMSDK/Open-IM-Server.git/':GnuTLS recv error (-110): The TLS connection was non-properly terminated.

原因:这是因为国内镜像的问题

解决:直接在 中间加上 gitclone.com/

代码语言:请在此输入代码块语言 linux复制
git clone https://gitclone.com/github.com/OpenIMSDK/Open-IM-Server.git

2.2 修改config.yaml,配置五大组件的连接参数

代码语言:请在此输入代码块语言 linux复制
cd Open-IM-Server
vim config.yaml

2.3 修改 Etcd 配置项

代码语言:请在此输入代码块语言 linux复制
etcd:
  etcdAddr: [ 127.0.0.1:2379 ] #替换为服务器ip

2.4 修改MySQL配置项

代码语言:请在此输入代码块语言 linux复制
mysql:
  dbAddress: [ 127.0.0.1:3306 ]
  dbUserName: root 
  dbPassword: root #可修改用户名密码

2.5 修改MongoDB配置项

代码语言:请在此输入代码块语言 linux复制
 mongo:   
   dbAddress: [ 127.0.0.1:27017 ]  
   dbUserName:    
   dbPassword: 

2.6 修改 Kafka 配置项

代码语言:请在此输入代码块语言 linux复制
kafka:  
  ws2mschat:   
  addr: [ 127.0.0.1:9092 ] 
  ms2pschat:    
  addr: [ 127.0.0.1:9092 ]

3 构建项目

如果没有安装组件(建议使用docker-compose自动拉取)

代码语言:请在此输入代码块语言 linux复制
cd Open-IM-Server/script
docker-compose up -d
检查
./docker_check_service.sh

出现下图拉取成功

部署组件完成直接启动即可

代码语言:请在此输入代码块语言 linux复制
cd Open-IM-Server/script
chmod  x *.sh
./build_all_service.sh

3.1 启动

代码语言:请在此输入代码块语言 linux复制
./start_all.sh

3.2 检查

代码语言:请在此输入代码块语言 linux复制
./check_all.sh

3.3 重新启动

代码语言:请在此输入代码块语言 linux复制
./start_all.sh

开放相关端口

10001~10010,11001

访问ip:11001

0 人点赞