1

OpenIM的部署涉及多个组件,并支持多种方式,包括源码、Docker和Kubernetes等。这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异。确实,这些都是复杂的问题,涉及到深入的技术细节和精准的系统配置。我们的目标是简化部署流程,同时保持系统的灵活性和稳定性,以适应不同用户的需求。目前3.5版本已经简化了部署流程,而且这个版本会长期维护,欢迎大家使用。1. 环境及组件要求环境要求注意事项详细说明操作系统Linux 系统硬件资源至少 4G 可用内存Golangv1.19 或更高Dockerv24.0.5 或更高Gitv2.17.1 或更高存储组件要求存储组件建议版本MongoDBv6.0.2 或更高Redisv7.0.0 或更高Zookeeperv3.8Kafkav3.5.1MySQLv5.7 或更高MinIO最新版本2. 部署 OpenIM Server (IM)2.1 设置 OPENIM_IP# 如果服务器有外网IP
export OPENIM_IP="外网IP"

如果仅提供内网服务

export OPENIM_IP="内网IP"2.2 ️ 部署组件 (mongodb/redis/zookeeper/kafka/MinIO等)git clone https://github.com/OpenIMSDK/open-im-server && cd open-im-server

建议切换到release-v3.5及以后的release分支

make init && docker compose up -d2.3 ️ 编译make build2.4 启动/停止/检测# 启动
make start

停止

make stop

检测

make check3. 部署 App Server (Chat)3.1 ️ 部署组件(mysql)# 返回上一级目录
cd ..

克隆仓库 建议切换到release-v1.5及以后的release分支

git clone https://github.com/OpenIMSDK/chat chat && cd chat

部署mysql

docker run -d --name mysql2 -p 13306:3306 -p 33306:33060 -v "$(pwd)/components/mysql/data:/var/lib/mysql" -v "/etc/localtime:/etc/localtime" -e MYSQL_ROOT_PASSWORD="openIM123" --restart always mysql:5.73.2 ️ 编译make init
make build3.3 启动/停止/检测# 启动
make start

停止

make stop

检测

make check4. 快速验证开放端口IM 端口TCP 端口说明操作TCP:10001ws 协议,消息端口,用于客户端 SDK端口放行TCP:10002api 端口,如用户、好友、群组、消息等接口端口放行TCP:10005选择 MinIO 存储时需要(OpenIM 默认使用 MinIO 存储)端口放行Chat 端口TCP 端口说明操作TCP:10008业务系统,如注册、登录等端口放行TCP:10009管理后台,如统计、封号等端口放行PC Web 及管理后台前端资源端口TCP 端口说明操作TCP:11001PC Web 前端资源端口放行TCP:11002管理后台前端资源端口放行Grafana 端口TCP 端口说明操作TCP:13000grafana端口端口放行三、验证PC Web 验证提示: 在浏览器中输入 http://ip:11001 来访问 PC Web。此 IP 应为服务端 OPENIM_IP,确保浏览器能访问。首次使用请通过手机号注册,验证码默认为 666666。
图片
图:PC Web 接口示例App 验证扫描以下二维码或点击 这里 进行下载。图:App 下载二维码提示: 双击 OpenIM 后修改 IP 为服务端 OPENIM_IP 再重启 App。请确保开放相关端口,并在修改后重启 App。首次使用请先通过手机号注册,验证码默认为 666666。
图片
图:服务器地址修改 - 步骤 1
图片
图:服务器地址修改 - 步骤 2管理后台验证在浏览器中输入 http://ip:11002 来访问管理后台。此 IP 应为服务端 OPENIM_IP,确保您的浏览器能访问。默认账号和密码均为 chatAdmin。
图片
图:管理后台界面5. 配置项修改5.1 ️ 共用配置项的修改配置项需要修改的文件操作mongo/kafka/minio 相关.env, openim-server/config/config.yaml需重启组件和 IMredis/zookeeper 相关.env, openim-server/config/config.yaml, chat/config/config.yaml需重启组件、IM 和 ChatSECRETopenim-server/config/config.yaml, chat/config/config.yaml需重启 IM 和 Chat5.2 特殊配置项的修改特殊配置项: API_OPENIM_PORT/MINIO_PORT/OPENIM_IP/GRAFANA_PORT修改 .env 文件中的特殊配置项在 openim-server/config/config.yaml 中按照规则修改配置在 chat/config/config.yaml 中按照规则修改配置重启 IM 和 Chat5.3 ️ 其他配置项的修改对于 .env、chat/config/config.yaml 和 openim-server/config/config.yaml 中的其他配置项,可以单独修改相应文件中的这些配置项。5.4 端口的修改特别注意,对于IM相关任何端口的修改,都需要同步修改 open-im-server/scripts/install/environment.sh 中的端口。6. 常见问题6.1 日志查看运行时日志:logs/OpenIM.log.all.启动日志:_output/logs/openim_.log6.2 启动顺序启动顺序如下:IM 依赖的组件:mongo/redis/kafka/zookeeper/minio等IMChat 依赖的组件:mysqlChat6.3 Docker 版本新版 Docker 已经整合了 docker-compose.老版本的 Docker 可能不支持 gateway 功能。建议升级到较新的版本,如 23.0.1。7. 关于OpenIM得益于广泛的开发者支持,OpenIM在开源即时通讯(IM)领域保持着领先地位,在Github上的星标数量已经超过12,000。在当前对数据和隐私安全日益重视的背景下,IM私有部署的需求不断增长,这与中国软件产业的快速发展趋势相契合。特别是在政府和企业领域,随着信息技术的飞速发展和创新产业的广泛应用,对IM解决方案的需求急剧上升。进一步来看,协同办公软件市场的持续扩张使得“安全可控”成为了一个关键属性。仓库地址:https://github.com/openimsdk
图片


OpenIM
28 声望20 粉丝