开源即时通讯(IM)项目 OpenIM 源码部署流程
由于 OpenIM 依赖的组件较多,开发者需求不一,导致 OpenIM 部署一直被人诟病,经过几次迭代优化,包括依赖的组件 compose 的一键部署,环境变量设置一次,全局生效,以及脚本重构,目前 OpenIM 部署比较丝滑,特写文章分享给大家。
OpenIM 是什么
OpenIM 不是一个独立的聊天产品,它不像 telegram、Signal、rocket.chat 那样是一个完全独立、可以直接安装使用的聊天应用程序。而是一个开源的即时通讯解决方案,为开发者提供了一系列的工具和服务,以便于他们在自己的应用程序中集成即时通讯功能。Telegram、Signal、rocket.chat 等是一些完全独立的聊天应用,用户可以直接下载安装使用,这些应用通常包含了完整的前端界面和后端服务。
OpenIM 是一个开源的即时通讯解决方案,包括 OpenIMSDK 和 OpenIMServer 两个主要部分。开发者可以使用这些工具和服务在自己的应用程序中实现消息的发送、接收、用户管理、群组管理等功能。
OpenIMSDK: 这是一个软件开发工具包,开发者可以使用这个工具包在自己的应用程序中集成即时通讯功能。OpenIMSDK 提供了一系列的 API 接口,使开发者能够方便地实现消息发送、接收、用户管理、群组管理等功能。该 SDK 通常包含不同的版本,以适应不同的平台和编程语言,例如 iOS、Android、Web、Windows 等。
OpenIMServer: 这是即时通讯的服务器端组件。它负责管理用户的连接、消息的转发、消息的存储等功能。OpenIMServer 通常部署在云端或者自有的服务器上。该组件通常包括了用户管理、消息存储、消息转发、消息推送、文件传输等模块。
OpenIM 的主要优势是它是开源的,这意味着开发者可以根据自身的需求对其进行定制和扩展。同时,OpenIM 也提供了一系列的文档和示例代码,帮助开发者更快地理解和使用这个解决方案。
此外,OpenIM 通常提供了一套完整的即时通讯解决方案,包括了客户端和服务器端,这使得开发者能够更加集中精力在自己的应用程序的开发上,而不需要花费太多时间在即时通讯功能的实现上。
开发者在 app client 中集成 OpenIMSDK,同时编写带有自身业务逻辑的 app Server 代码,通过 REST API 和 callback 和 OpenIMServer
源码部署
环境及系统要求
存储组件
OpenIM 不是一个完整的聊天软件,而是开源的即时通讯组件,包括 open-im-sdk 和 open-im-server ,本身不包含账号的注册和登录服务。 为方便大家测试,我们开源了包括登录注册功能的 chat 仓库,同时部署 chat 和 open-im-server,即可搭建一个完整的聊天产品。
一、先部署组件
clone 仓库并切换发布分支(release-v3.3 及之后的版本)
设置环境变量
部署组件
查看组件状态
二、编译/启动/检测/停止 open-im-server
编译
2.启动
检测
停止
其它问题
如想使用某些外部组件,该如何修改
启动顺序
docker 版本
升级问题
如组件启动后再修改组件密码
更多配置项
日志查看
三、编译/启动/检测/停止 chat
clone 仓库并切换发布分支(release-v1.3 及之后的版本)
2.编译
3.启动
4.检测
5.停止
其它问题
如果 zk 连接失败
如果用户注册失败
日志查看
四、开放端口
开放 IM 端口
开放 Chat 端口
开放 pc web 端口
体验 pc web
浏览器输入 http://ip:11001 访问 pc web,注意此 ip 为服务器 ip,确保 pc 端能访问 先通过手机号注册,验证码默认为 666666
关于 OpenIM
得益于广大开发者的支持,OpenIM 在开源 IM 领域中保持着领先地位,目前在 Github 上的星标数量已超过 12k。在当前数据和隐私安全受到重视的背景下,IM 的私有部署需求逐渐增长,这与国内软件产业的崛起趋势相吻合。特别是在政企领域,随着信息技术的快速发展和创新产业的应用,对 IM 的需求迅速增长。更进一步,协同办公软件市场持续扩大,其中“安全可控”已经被视为最关键的属性。
github: https://github.com/OpenIMSDK/ website: https://www.openim.online/zh developer: https://doc.rentsoft.cn/sdks/quickstart
评论